如何确定一个date是否在周末?

给定一个date作为input,我怎样才能确定一天是否在周末?

有一个Weekday函数将Date作为参数并返回date(1,2,3等)

返回值是:

vbSunday (1) vbMonday (2) vbTuesday (3) vbWednesday (4) vbThursday (5) vbFriday (6) vbSaturday (7) 

假设周末是星期六和星期天,函数将如下所示:

 Public Function IsWeekend(InputDate As Date) As Boolean Select Case Weekday(InputDate) Case vbSaturday, vbSunday IsWeekend = True Case Else IsWeekend = False End Select End Function 

这是确定MyDate是否在周末出现的最直接的方式:

 MsgBox Weekday(MyDate, vbMonday) > 5 

Weekday()函数有一个可选的第二个参数,告诉它星期的哪一天开始。 Weekday()函数返回从1到7的整数。

我已经指示它在星期一开始这个星期,所以星期六是6,星期日是7。

或者,你可以使用这个:

 OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1) 

要么

 MOD(WEEKDAY(cell), 7) < 2 

作为一个公式。

因为1是星期天,0是星期六

将date转换为星期几的公式

Selection.FormulaR1C1 =“= TEXT(WEEKDAY(R7C”+ CStr(i)+“,1),”“ddd”“)”

这将返回一天

例如: – 如果input是02-may-2013那么它将返回星期四 – >(星期四)这里variables我代表另一列