如何获取当前星期一的当天的日期。星期一是一周的第一天。因此,如果我本周查阅它将返回日期为1/16/2012
我正在使用VBScript和ASP
非常感谢...
保
答案 0 :(得分:11)
实际上,工作日函数返回星期日= 1,星期一= 2等。要获得同一周的星期一,您要减去:
Sunday (1): 6 days
Monday (2): 0 days
Tuesday(3): 1 day
...
Saturday(7): 5 days.
或者 减去天数=(工作日 - 2 + 7)Mod 7
因此,如果d
是日期,则同一周的星期一可写为:
mondayofsameweek = DateAdd("d", -((Weekday(d) + 7 - 2) Mod 7), d)
答案 1 :(得分:1)
在VBScript中,WeekDay返回星期几,从星期日= 1开始(VBScript可能像那样古怪)。因此,只需从该值中减去两个(星期一= 2)并调用DateAdd。
monday = DateAdd("d",(WeekDay(Date())-2),Date())
答案 2 :(得分:0)
VBScript有一个名为WeekDay的函数,它返回1 - 7,不确定1是否是星期一,通常你可以用它旋转。
无论哪种方式星期四= 4? ,那么你只需要用你的DateAdd函数
将你的约会时间缩短三天答案 3 :(得分:0)
我知道这个话题有点陈旧,但我想我会分享我认为更简洁的工作解决方案。
dDate
是您当前的日期:
dDate = DateAdd("d", -(WeekDay(dDate, vbMonday) - 1), dDate)
WeekDay
的第二个参数是您希望本周开始的日期'。对我而言,在美国,WeekDay
将默认的第二个参数对应vbSunday
。指定vbMonday
,我们只得到当前工作日和星期一之间的差异(基数1)。
减去1并添加与当前日期相反的结果,以获得结果。
示例:
WeekDay(2018-03-20, vbMonday) = -((2) - 1) = DateAdd("d", -1, 2018-03-20)