VB6一周的一天功能

时间:2016-04-12 20:57:00

标签: vb6 dayofweek

我对VB6比较陌生,我刚刚接到一个约会,我有一个约会 - 例如'2016年4月12日' - 从这一天开始,我正试图找出它的日子是。所以我们假设这是一个星期三。从现在开始,我正在尝试确定一周的日期[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语句。我是在正确的轨道上吗?

2 个答案:

答案 0 :(得分:2)

此代码:

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

将打印现在的任何一天到即时窗口。如果您想要缩短的星期几,请使用“ddd”作为格式。

现在,这段代码:

DatePart("w", "4/12/2016")

会做同样的事情。但是,它会告诉您如何使用vbSunday,vbMonday等以编程方式评估您正在处理的一周中哪一天。这应该为您提供开始使用Select语句所需的内容。要使用您的示例,Debug.Print Format(Weekday(Now), "dddd") 评估为3或vbTuesday。

VB6参考文档是here,我可能会添加相当好的隐藏。查找Format和DatePart以熟悉其他选项。

编辑:正如MarkL指出的那样,工作日功能在VB6中可用(我认为不是),并且比使用DatePart更简单(少一个参数)。这段代码:

{{1}}

也会在一周中的任何一天打印到即时窗口。 jac还在上面的评论中提供了工作日功能的链接。

答案 1 :(得分:0)

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

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