ASP 日期的加減運算實現代碼
2024-05-04 11:00:09
供稿:網友
舉個例子來說,要查找出2007-10-12至2007-10-31之間在網站上注冊的會員,選擇好日期后,點擊“查詢”按鈕,發現2007-10-31注冊的會員的信息根本沒有顯示出來,試驗了幾次結果都是一樣。調試程序發現,原來是在SQL語句這里出現了問題。
SQL語句如下:SELECT * FROM userinfo WHERE regtime >= '2007-10-12' AND regtime <= '2007-10-31'。初看上去這條SQL語句沒有錯誤,可是對照數據庫中相應字段保存的值以后,發現保存的值并不是簡單的日期形式,而是日期+時間的形式,即:yyyy-MM-dd HH:mm:ss,這時SQL語句在判斷regtime和'2007-10-31'的大小時,會認為'2007-10-31'寫的不完整,所以不會認為這兩個值是相等的。這可怎么辦呢?
不用著急,ASP為我們提供了日期加減的函數,來幫我們解決這一問題。
1.日期相加
DateAdd 函數
返回已添加指定時間間隔的日期。
DateAdd(interval, number, date)
DateAdd 函數的語法有以下參數
?。?)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 型值,則在計算前四舍五入為最接近的整數。
?。?日期相減
DateDiff 函數