dateAdd、dateDiff、DatePart參數比較參考

'----------------------------datepart函數
Response.write "2007-9-18的datepart('yyyy','2007-9-18')="& datepart("yyyy","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('q','2007-9-18')="&datepart("q","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('m','2007-9-18')="&datepart("m","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('y','2007-9-18')="&datepart("y","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('d','2007-9-18')="&datepart("d","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('w','2007-9-18')="&datepart("w","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('ww','2007-9-18')="&datepart("ww","2007-9-18")&"<br>"
Response.write "2007-9-18的datepart('h','2007-9-18 12:37:29')="&datepart("h","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的datepart('n','2007-9-18 12:37:29')="&datepart("n","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的datepart('s','2007-9-18 12:37:29')="&datepart("s","2007-9-18 12:37:29")&"<br>"

Response.write "<p><p>"
'----------------------------dateDiff函數

Response.write "2007-9-18的 datediff('yyyy','2007-6-13','2007-9-18')="& datediff("yyyy","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('q','2007-6-13','2007-9-18')="& datediff("q","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('m','2007-6-13','2007-9-18')="& datediff("m","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('y','2007-6-13','2007-9-18')="& datediff("y","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('d','2007-6-13','2007-9-18')="& datediff("d","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('w','2007-6-13','2007-9-18')="& datediff("w","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('ww','2007-6-13','2007-9-18')="& datediff("ww","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('h','2007-6-13','2007-9-18')="& datediff("h","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('n','2007-6-13','2007-9-18')="& datediff("n","2007-6-13","2007-9-18")&"<br>"
Response.write "2007-9-18的 datediff('s','2007-6-13','2007-9-18')="& datediff("s","2007-6-13","2007-9-18")&"<br>"

Response.write "<p><p>"
'----------------------------dateAdd函數

Response.write "2007-9-18的 dateAdd('yyyy','3','2007-9-18 12:37:29')="& dateAdd("yyyy","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('q','3','2007-9-18 12:37:29')="& dateAdd("q","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('m','3','2007-9-18 12:37:29')="& dateAdd("m","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('y','3','2007-9-18 12:37:29')="& dateAdd("y","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('d','3','2007-9-18 12:37:29')="& dateAdd("d","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('w','3','2007-9-18 12:37:29')="& dateAdd("w","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('ww','3','2007-9-18 12:37:29')="& dateAdd("ww","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('h','3','2007-9-18 12:37:29')="& dateAdd("h","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('n','3','2007-9-18 12:37:29')="& dateAdd("n","3","2007-9-18 12:37:29")&"<br>"
Response.write "2007-9-18的 dateAdd('s','3','2007-9-18 12:37:29')="& dateAdd("s","3","2007-9-18 12:37:29")&"<br>"

結果:
2007-9-18的datepart('yyyy','2007-9-18')=2007
2007-9-18的datepart('q','2007-9-18')=3
2007-9-18的datepart('m','2007-9-18')=9
2007-9-18的datepart('y','2007-9-18')=261
2007-9-18的datepart('d','2007-9-18')=18
2007-9-18的datepart('w','2007-9-18')=3
2007-9-18的datepart('ww','2007-9-18')=38
2007-9-18的datepart('h','2007-9-18 12:37:29')=12
2007-9-18的datepart('n','2007-9-18 12:37:29')=37
2007-9-18的datepart('s','2007-9-18 12:37:29')=29

2007-9-18的 datediff('yyyy','2007-6-13','2007-9-18')=0
2007-9-18的 datediff('q','2007-6-13','2007-9-18')=1
2007-9-18的 datediff('m','2007-6-13','2007-9-18')=3
2007-9-18的 datediff('y','2007-6-13','2007-9-18')=97
2007-9-18的 datediff('d','2007-6-13','2007-9-18')=97
2007-9-18的 datediff('w','2007-6-13','2007-9-18')=13
2007-9-18的 datediff('ww','2007-6-13','2007-9-18')=14
2007-9-18的 datediff('h','2007-6-13','2007-9-18')=2328
2007-9-18的 datediff('n','2007-6-13','2007-9-18')=139680
2007-9-18的 datediff('s','2007-6-13','2007-9-18')=8380800

2007-9-18的 dateAdd('yyyy','3','2007-9-18 12:37:29')=2010-9-18 下午 12:37:29
2007-9-18的 dateAdd('q','3','2007-9-18 12:37:29')=2008-6-18 下午 12:37:29
2007-9-18的 dateAdd('m','3','2007-9-18 12:37:29')=2007-12-18 下午 12:37:29
2007-9-18的 dateAdd('y','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('d','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('w','3','2007-9-18 12:37:29')=2007-9-21 下午 12:37:29
2007-9-18的 dateAdd('ww','3','2007-9-18 12:37:29')=2007-10-9 下午 12:37:29
2007-9-18的 dateAdd('h','3','2007-9-18 12:37:29')=2007-9-18 下午 03:37:29
2007-9-18的 dateAdd('n','3','2007-9-18 12:37:29')=2007-9-18 下午 12:40:29
2007-9-18的 dateAdd('s','3','2007-9-18 12:37:29')=2007-9-18 下午 12:37:32

'-------------
datepart
DatePart 函數
返回給定日期的指定部分。

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Arguments
interval

必選項。字符串表達式表示要返回的時間間隔。有關數值,請參閱“設置”部分。

Date

必選項。要計算的日期表達式。

firstdayof week

可選項。指定星期中的第一天的常數。如果沒有指定,則默認爲星期日。有關數值,請參閱“設置”部分。

Firstweekofyear

可選項。指定一年中第一週的常數。如果沒有指定,則默認爲 1 月 1 日所在的星期。有關數值,請參閱“設置”部分。

設置
interval 參數可以有以下值:

設置 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一週的日數
ww 周
h 小時
n 分鐘
s 秒

firstdayofweek 參數可以有以下值:

常數 值 描述
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 參數可以有以下值:

常數 值 描述
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一週開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周(不跨年度)開始。

說明
DatePart 函數用於計算日期並返回指定的時間間隔。例如使用 DatePart 計算某一天是星期幾或當前的時間。

firstdayofweek 參數會影響使用“w”和“ww”間隔符號的計算。

如果 date 是日期文字,則指定的年度會成爲日期的固定部分。但是如果 date 被包含在引號 (" ") 中,並且省略年份,則在代碼中每次計算 date 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼。.

下面的示例利用 DatePart 函數獲得日期並顯示該日所在的季節。

Function GetQuarter(TheDate)
   GetQuarter = DatePart("q", TheDate)
End Function

 

datediff
DateDiff 函數
返回兩個日期之間的時間間隔。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 函數的語法有以下參數:

參數
interval

必選項。String expression 表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱“設置”部分。

date1, date2

必選項。日期表達式。用於計算的兩個日期。

Firstdayofweek

可選項。指定星期中第一天的常數。如果沒有指定,則默認爲星期日。有關數值,請參閱“設置”部分。

Firstweekofyear

可選項。指定一年中第一週的常數。如果沒有指定,則默認爲 1 月 1 日所在的星期。有關數值,請參閱“設置”部分。

設置
interval 參數可以有以下值:

設置 描述
yyyy 年
q 季度
n 月
y 一年的日數
d 日
w 一週的日數
ww 周
h 小時
m 分鐘
s 秒

firstdayofweek 參數可以有以下值:

常數 值 描述
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 參數可以有以下值:

常數 值 描述
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一週開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周開始。

說明
DateDiff 函數用於判斷在兩個日期之間存在的指定時間間隔的數目。例如可以使用 DateDiff 計算兩個日期相差的天數,或者當天到當年最後一天之間的星期數。

要計算 date1 和 date2 相差的天數,可以使用“一年的日數”(“y”)或“日”(“d”)。當 interval 爲“一週的日數”(“w”)時,DateDiff 返回兩個日期之間的星期數。如果 date1 是星期一,則 DateDiff 計算到 date2 之前星期一的數目。此結果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),則 DateDiff 函數返回日曆表中兩個日期之間的星期數。函數計算 date1 和 date2 之間星期日的數目。如果 date2 是星期日,DateDiff 將計算 date2,但即使 date1 是星期日,也不會計算 date1。

如果 date1 晚於 date2,則 DateDiff 函數返回負數。

firstdayofweek 參數會對使用“w”和“ww”間隔符號的計算產生影響。

如果 date1 或 date2 是日期文字,則指定的年度會成爲日期的固定部分。但是如果 date1 或 date2 被包括在引號 (" ") 中並且省略年份,則在代碼中每次計算 date1 或 date2 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼。

在 interval 爲“年”(“yyyy”)時,比較 12 月 31 日和來年的 1 月 1 日,雖然實際上只相差一天,DateDiff 返回 1 表示相差一個年份。

下面的示例利用 DateDiff 函數顯示今天與給定日期之間間隔天數:

Function DiffADate(theDate)
   DiffADate = "從當天開始的天數:" & DateDiff("d", Now, theDate)
End Function

DateAdd 函數
返回已添加指定時間間隔的日期。

DateAdd(interval, number, date)

參數
interval

必選項。字符串表達式,表示要添加的時間間隔。有關數值,請參閱“設置”部分。

number

必選項。數值表達式,表示要添加的時間間隔的個數。數值表達式可以是正數(得到未來的日期)或負數(得到過去的日期)。

date

必選項。Variant 或要添加 interval 的表示日期的文字。

設置
interval 參數可以有以下值:

設置 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一週的日數
ww 周
h 小時
n 分鐘
s 秒

說明
可用 DateAdd 函數從日期中添加或減去指定時間間隔。例如可以使用 DateAdd 從當天算起 30 天以後的日期或從現在算起 45 分鐘以後的時間。要向 date 添加以“日”爲單位的時間間隔,可以使用“一年的日數”(“y”)、“日”(“d”)或“一週的日數”(“w”)。

DateAdd 函數不會返回無效日期。如下示例將 95 年 1 月 31 日加上一個月:

NewDate = DateAdd("m", 1, "31-Jan-95")
在這個示例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 爲 96 年 1 月 31 日,則返回 96 年 2 月 29 日,這是因爲 1996 是閏年。

如果計算的日期是在公元 100 年之前,則會產生錯誤。

如果 number 不是 Long 型值,則在計算前四捨五入爲最接近的整
數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章