VB6 week of day function



我对VB6还比较陌生,我刚刚接到一个任务,任务中有一个日期,例如"2016年4月12日",从这个日期开始,我想知道是哪一天。所以假设今天是星期三。从今天开始,我正在努力确定本周的日期。我该如何做这样的事情?

编辑:关于周日和周六的日期,我有一个很好的主意,因为我可以简单地做一些事情。。。

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")

将在当前的星期几打印到即时窗口。如果您想要缩短的星期几,请使用"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参考文档在这里,我可以补充一下,它隐藏得相当好。查找Format和DatePart以熟悉其他选项。

EDIT:正如MarkL所指出的,Weekday函数在VB6中可用(我以为不是),并且比使用DatePart更简单(少了一个参数)。此代码:

Debug.Print Format(Weekday(Now), "dddd")

还将在一周中的任何一天打印到即时窗口。jac还在上面的评论中提供了一个指向Weekday函数的链接。

您可以尝试以下代码,代码将返回当天的名称。

txtDateTime.Text = WeekdayName(Weekday(Now))
txtDateTime.Text = WeekdayName(Weekday(12 / 30 / 1995))
txtDateTime.Text = WeekdayName(Weekday(Date)) 

最新更新