asp 日期語法整理

在寫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 日期語法整理〉中有 1 則留言

  1. Brian表示:

    新增:ASP函數DateAdd時間的加減
    DateAdd(“h”,13,Now())其中”h”代表小時,13代表加上13小時,now()是現在的日期時間,也可以”h”可以改變:
    設置 描述
    yyyy 年
    q 季度
    m 月
    y 一年的日數
    d 日
    w 一周的日數
    ww 周
    h 小時
    n 分鐘
    s 秒

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

13 − 6 =