2012-01-16 89 views
5

我如何得到本週星期一的日期。星期一是一週中的第一天。所以,如果我是來看看這個星期將返回日期2012年1月16日查找本週星期一

我使用VBScript和ASP

提前很多感謝..

保羅

回答

10

有效的是,平日函數返回星期日= 1,星期一= 2,等等。要獲得相同周的星期一,要減去:

Sunday (1): 6 days 
Monday (2): 0 days 
Tuesday(3): 1 day 
... 
Saturday(7): 5 days. 

或者 天減去= (平日 - 2 + 7)國防部7

所以,如果d是一個日期,同一個星期的星期一可以寫爲:

mondayofsameweek = DateAdd("d", -((Weekday(d) + 7 - 2) Mod 7), d) 
+0

工作了一個款待......非常感謝您的幫助.. – neojakey 2012-01-16 18:42:06

+0

一個很好的答案。 – 2012-01-21 13:54:57

0

VBScript中有一個名爲WeekDay的函數,它會返回1 - 7,不確定1是否是星期一,通常你可以用它來旋轉。

無論哪種方式得到星期四= 4? ,所以那麼你只需要用你的日期和三天的DateAdd函數

1

在VBScript WeekDay返回星期幾,從星期日開始= 1(VBScript可以是古怪的那樣)。所以只需從該值中減去兩個(星期一= 2)並調用DateAdd。

monday = DateAdd("d",(WeekDay(Date())-2),Date()) 
+1

你忘了乘以-1以減少天數'monday = DateAdd(「d」,(WeekDay(Date()) - 2)* - 1,Date())' – 2012-01-16 18:39:59

+0

糟糕,沒錯。 – jonkroll 2012-01-16 19:18:45

相關問題