ASP教程:DateDiff函數(shù)和DateAdd函數(shù)
更新時間:2012-01-13 | 發(fā)布人:本站 | 點擊率:636 次
1.日期相加
DateAdd 函數(shù)
返回已添加指定時間間隔的日期。
DateAdd(interval, number, date)
DateAdd 函數(shù)的語法有以下參數(shù)
。1)interval 必選項。字符串表達(dá)式,表示要添加的時間間隔。有關(guān)數(shù)值,請參閱“設(shè)置”部分。
。2)number 必選項。數(shù)值表達(dá)式,表示要添加的時間間隔的個數(shù)。數(shù)值表達(dá)式可以是正數(shù)(得到未來的日期)或負(fù)數(shù)(得到過去的日期)。
(3)date 必選項。Variant 或要添加 interval 的表示日期的文字。
說明
可用 DateAdd 函數(shù)從日期中添加或減去指定時間間隔。例如可以使用 DateAdd 從當(dāng)天算起 30 天以后的日期或從現(xiàn)在算起 45 分鐘以后的時間。要向 date 添加以“日”為單位的時間間隔,可以使用“一年的日數(shù)”(“y”)、“日”(“d”)或“一周的日數(shù)”(“w”)。
DateAdd 函數(shù)不會返回?zé)o效日期。如下示例將 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 年之前,則會產(chǎn)生錯誤。
如果 number 不是 Long 型值,則在計算前四舍五入為最接近的整數(shù)。
2.日期相減
DateDiff 函數(shù)
返回兩個日期之間的時間間隔。
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函數(shù)的語法有以下參數(shù):
。1)interval 必選項。字符串表達(dá)式,表示用于計算 date1 和 date2 之間的時間間隔。有關(guān)數(shù)值,請參閱“設(shè)置”部分。
。2)date1, date2 必選項。日期表達(dá)式。用于計算的兩個日期。
。3)Firstdayofweek 可選項。指定星期中第一天的常數(shù)。如果沒有指定,則默認(rèn)為星期日。有關(guān)數(shù)值,請參閱“設(shè)置”部分。
。4)Firstweekofyear 可選項。指定一年中第一周的常數(shù)。如果沒有指定,則默認(rèn)為 1 月 1 日所在的星期。有關(guān)數(shù)值,請參閱“設(shè)置”部分。
說明
DateDiff 函數(shù)用于判斷在兩個日期之間存在的指定時間間隔的數(shù)目。例如可以使用 DateDiff 計算兩個日期相差的天數(shù),或者當(dāng)天到當(dāng)年最后一天之間的星期數(shù)。
要計算 date1 和 date2 相差的天數(shù),可以使用“一年的日數(shù)”(“y”)或“日”(“d”)。當(dāng) interval 為“一周的日數(shù)”(“w”)時,DateDiff 返回兩個日期之間的星期數(shù)。如果 date1 是星期一,則 DateDiff 計算到 date2 之前星期一的數(shù)目。此結(jié)果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),則 DateDiff 函數(shù)返回日歷表中兩個日期之間的星期數(shù)。函數(shù)計算 date1 和 date2 之間星期日的數(shù)目。如果 date2 是星期日,DateDiff 將計算 date2,但即使 date1 是星期日,也不會計算 date1。
如果 date1 晚于 date2,則 DateDiff 函數(shù)返回負(fù)數(shù)。
firstdayofweek 參數(shù)會對使用“w”和“ww”間隔符號的計算產(chǎn)生影響。
如果 date1 或 date2 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date1 或 date2 被包括在引號 (" ") 中并且省略年份,則在代碼中每次計算 date1 或 date2 表達(dá)式時,將插入當(dāng)前年份。這樣就可以編寫適用于不同年份的程序代碼。
在 interval 為“年”(“yyyy”)時,比較 12 月 31 日和來年的 1 月 1 日,雖然實際上只相差一天,DateDiff 返回 1 表示相差一個年份。