在寫asp程式時,日期長是個麻煩,尤其是撈資料庫的日期出來比對,或是要以某種日期格式寫入資料庫時,日期格式常要來轉來轉去,假設現在的時間 Now()是 “2009/7/4 上午 12:45:36″,若要轉成”2009/07/04 00:45:36″,該怎麼做呢? 請先看一下下文中一些寫asp程式時常用的日期語法,答案在最下方!
系統時間
Date()
-取系統日期。
程式: response.write Date()
結果: 2009/7/4
Time()
-取系統時間。
程式: response.write Now()
結果: 上午 12:45:36
Now()
-取系統日期時間。
程式: response.write Now()
結果: 2009/7/4 上午 12:45:36
日期判斷
IsDate(日期或字串)
-判斷是否為日期。
程式: response.write IsDate(Now())
結果: True
CDate(日期或字串)
-將字串轉換成日期
程式: response.write CDate(Now())
結果: 2009/7/4 上午 12:45:36
取日期時間值
Year(日期時間或字串)
-傳回日期年的部份
程式: response.write Year(“2009/7/4 上午 12:45:36“)
結果: 2009
Month(日期時間或字串)
-傳回日期月的部份
程式: response.write Month(“2009/7/4 上午 12:45:36“)
結果: 7
Day(日期時間或字串)
-傳回日期日的部份
程式: response.write Day(“2009/7/4 上午 12:45:36“)
結果: 4
DayValue(日期時間或字串)
-傳回日期年月日的部份
程式: response.write DayValue(“2009/7/4 上午 12:45:36”)
結果: 2009/7/4
TimeValue(日期時間或字串)
-傳回日期時間的部份
程式: response.write TimeValue(“2009/7/4 上午 12:45:36”)
結果: 上午 12:45:36
DatePart(欲傳回之部分日期時間或字串)
-傳回某部份的日期時間
-yyyy Year 年
-q Quarter 季
-m Month 月
-d Day 日
-w Weekday 星期
-h Hour 時
-n Minute 分
-s Second 秒
程式: response.write DatePart(“s”,”2009/7/4 上午 12:45:36″)
結果: 36
Weekday(日期時間或字串)
-傳回星期的數字: 1=星期日,2=星期一,3=星期二,4=星期三,5=星期四,6=星期五,7=星期六
程式: response.write TimeValue(“2009/7/4 上午 12:45:36”)
結果: 7
FormatDateTime(日期時間或字串,格式)
-根據格式定義傳回日期時間,格式定義有下列幾種:
-vbGeneralDate:顯示日期和/或時間。如果有日期部分,則將該部分顯示為短日期格式。如果有時間部分,則將該部分顯示為長時間格式。如果都存在,則顯示所有部分。
-vbLongDate: 系統設置中指定的長日期格式顯示日期
-vbShortDate: 系統設置中指定的短日期格式顯示日期
-vbLongTime: 系統設置中指定的時間格式顯示時間
-vbShortTime: 使用 24 小時格式 (hh:mm) 顯示時間
程式: response.write FormatDateTime(“2009/7/4 上午 12:45:36”)
結果: 12:45
有了這些應該夠用了!
上面講到的題目(假設現在的時間 Now()是 “2009/7/4 上午 12:45:36″,若要轉成”2009/07/04 00:45:36″,該怎麼做呢?),答案就是下面這串:
now_time = Year(Now()) & “/” & Right(“0″&Month(Now()),2) & “/” & Right(“0″ & Day(Now()),2) & ” ” & FormatDateTime(Now(),vbShortTime) & “:” & Right(“0” & DatePart(“s”,Now()),2)
設計心得:
瞭解各個語法的用途,把它當作遊戲來組合,其實還蠻好玩的!
2011/6/29 更新:
如果要更快速做日期的轉換,請參考下面這篇:
一個FUNCTION搞定 ASP 日期時間格式轉換
新增:ASP函數DateAdd時間的加減
DateAdd(“h”,13,Now())其中”h”代表小時,13代表加上13小時,now()是現在的日期時間,也可以”h”可以改變:
設置 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一周的日數
ww 周
h 小時
n 分鐘
s 秒