VB6 星期几函数
VB6 week of day function
我是 VB6 的新手,我刚刚接到一个任务,其中有一个日期 - 例如“4/12/2016” - 从这个日期开始,我试图找出这一天这是。假设今天是星期三。从今天开始,我试图确定一周的日期 [sun(startdate) - sat(enddate))。我将如何着手做这样的事情?
编辑:关于找出星期天和星期六的日期我有一个很好的主意,因为我可以简单地做一些事情...
dim dateStart,dateend as date
Ex of date given to me = '4/12/2016'
Dim dateDay as variant
dateDay = whatever I get here - i'm assuming that a date will return a number for whatever day it is ???? Not sure
Select Case dateDay
case 1 -Monday?
dateStart=dateadd("d",-1,'4/12/2016)
dateEnd = dateadd("d",6, '4/12/2016)
case 2 -Tuesday?
datestart = dateadd("d",-2,'4/12/2016)
dateend = dateadd("d",5,'4/12/2016)
End Select
基本上对所有情况都执行SELECT语句。我在正确的轨道上吗?
此代码:
Debug.Print Format(DatePart("w", Now), "dddd")
会将现在是星期几打印到即时 window。如果您想要缩写的星期几,请使用 "ddd" 作为格式。
现在,这段代码:
Dim DOW As String
Select Case DatePart("w", Now)
Case vbSunday
DOW = "Sunday"
Case vbMonday
DOW = "Monday"
Case vbTuesday
DOW = "Tuesday"
Case vbWednesday
DOW = "Wednesday"
Case vbThursday
DOW = "Thursday"
Case vbFriday
DOW = "Friday"
Case vbSaturday
DOW = "Saturday"
End Select
Debug.Print DOW
也会做同样的事情。但是,它向您展示了如何通过使用 vbSunday、vbMonday 等以编程方式评估您正在处理的是一周中的哪一天。这应该为您提供开始 Select 语句所需的信息。要使用您的示例,DatePart("w", "4/12/2016")
计算结果为 3,或 vbTuesday。
VB6 参考文档是 here,而且隐藏得很好,我可能会添加。查看 Format 和 DatePart 以熟悉其他选项。
编辑:正如 MarkL 指出的那样,Weekday 函数在 VB6 中可用(我认为它不是),并且比使用 DatePart 更简单(少一个参数)。此代码:
Debug.Print Format(Weekday(Now), "dddd")
还将立即打印星期几 window。 jac 还在上面的评论中为 Weekday 函数提供了 link。
您可以尝试以下代码,该代码将 return 当天的名称。
txtDateTime.Text = WeekdayName(Weekday(Now))
txtDateTime.Text = WeekdayName(Weekday(12 / 30 / 1995))
txtDateTime.Text = WeekdayName(Weekday(Date))
我是 VB6 的新手,我刚刚接到一个任务,其中有一个日期 - 例如“4/12/2016” - 从这个日期开始,我试图找出这一天这是。假设今天是星期三。从今天开始,我试图确定一周的日期 [sun(startdate) - sat(enddate))。我将如何着手做这样的事情?
编辑:关于找出星期天和星期六的日期我有一个很好的主意,因为我可以简单地做一些事情...
dim dateStart,dateend as date
Ex of date given to me = '4/12/2016'
Dim dateDay as variant
dateDay = whatever I get here - i'm assuming that a date will return a number for whatever day it is ???? Not sure
Select Case dateDay
case 1 -Monday?
dateStart=dateadd("d",-1,'4/12/2016)
dateEnd = dateadd("d",6, '4/12/2016)
case 2 -Tuesday?
datestart = dateadd("d",-2,'4/12/2016)
dateend = dateadd("d",5,'4/12/2016)
End Select
基本上对所有情况都执行SELECT语句。我在正确的轨道上吗?
此代码:
Debug.Print Format(DatePart("w", Now), "dddd")
会将现在是星期几打印到即时 window。如果您想要缩写的星期几,请使用 "ddd" 作为格式。
现在,这段代码:
Dim DOW As String
Select Case DatePart("w", Now)
Case vbSunday
DOW = "Sunday"
Case vbMonday
DOW = "Monday"
Case vbTuesday
DOW = "Tuesday"
Case vbWednesday
DOW = "Wednesday"
Case vbThursday
DOW = "Thursday"
Case vbFriday
DOW = "Friday"
Case vbSaturday
DOW = "Saturday"
End Select
Debug.Print DOW
也会做同样的事情。但是,它向您展示了如何通过使用 vbSunday、vbMonday 等以编程方式评估您正在处理的是一周中的哪一天。这应该为您提供开始 Select 语句所需的信息。要使用您的示例,DatePart("w", "4/12/2016")
计算结果为 3,或 vbTuesday。
VB6 参考文档是 here,而且隐藏得很好,我可能会添加。查看 Format 和 DatePart 以熟悉其他选项。
编辑:正如 MarkL 指出的那样,Weekday 函数在 VB6 中可用(我认为它不是),并且比使用 DatePart 更简单(少一个参数)。此代码:
Debug.Print Format(Weekday(Now), "dddd")
还将立即打印星期几 window。 jac 还在上面的评论中为 Weekday 函数提供了 link。
您可以尝试以下代码,该代码将 return 当天的名称。
txtDateTime.Text = WeekdayName(Weekday(Now))
txtDateTime.Text = WeekdayName(Weekday(12 / 30 / 1995))
txtDateTime.Text = WeekdayName(Weekday(Date))