基本函數 date() 獲取日期,格式:2004-2-28
time() 獲取時間,格式:22:24:59
now() 獲取日期和時間 格式: 2005-5-2 22:37:30
使用方法:
d=date()
獲取年份:year(d)
獲取月份:month(d)
獲取日子:day(d)
獲取星期幾:weekday(d)
t=time()
獲取小時:hour(t)
獲取分鐘:minute(t)
獲取秒數:second(t)
========================================
日期相加函數:DateAdd(interval, number, date)
可用該函數從日期中添加或減去指定時間間隔。
參數說明: interval-運算的基准間隔
number-加上多少,可為負數
date-基准日期
下面是interval的可選值,注意加上引號:
設置 |
描述 |
yyyy
年
q
季度
m
月
y
一年的日數
d
日
w
一周的日數
ww
周
h
小時
n
分鐘
s
秒
舉例:
1、計算明天:
tomorrow=DateAdd("d",1,date())
2、2012年12月1日的前一天:
preday=DateAdd("d",-1,"2012-12-1")
更詳細用法請搜索。
========================================
日期間隔函數-DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear]])
計算兩個日期之間相差的間隔。
例如,可以使用 DateDiff 來計算兩個日期之間相隔幾日,或計算從今天起到年底還有多少個星期。如果date1比date2 晚,則返回負數。
參數說明:
interval-同DateAdd()函數
Date1,date2 -進行運算的兩個日期
可選參數:
firstdayofweek- 指定一個星期的第一天的常數。如果未予指定,則以星期日為第一天。
當計算兩個日期相差幾周時(時間間隔符號 “w” 或 “ww”),該參數會影響結果。具體請搜索。
firstweekofyear-指定一年的第一周怎麼確定,如果未予指定,則以包含 1 月 1 日的星期為第一周。具體請搜索。
========================================
其他函數:
DateSerial(year, month, day) -將數值換算為日期變量,返回值類型同date()函數。例如,如果day=35,則自動計算到下個月。再例如,DateSerial(1990 - 10, 8 - 2, 1 - 1) 則計算1990 年8月1日的十年零兩個月又一天 之前的日期,也就是1980年5月31日。
DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) -返回指定時間部分的數值。例如,可以使用DatePart 計算某個日期是星期幾或目前為幾點鐘。參數同上面。
DateValue(date)-將各種日期格式串轉化為日期變量,返回值類型同date()函數。例如,除了 12/30/1991 和 12/30/91 之外,DateValue 也識別 December 30, 1991 和 Dec 30, 1991。
TimeValue(time)-將各種時間格式串轉化為時間變量。原理同DateValue。
TimeSerial(hour, minute, second) -將數值轉化為時間變量,返回值類型和time()函數相同。原理同DateSerial。
Timer()-午夜開始到現在經過的秒數。
以下是使用例子:now() 獲取當前系統日期和時間,asp輸出可以這樣寫:<%=now()%>
Year(now()) 獲取年份, ASP輸出:<%=Year(now())%>
Month(now()) 獲取當前月份,ASP輸出:<%=Month(now())%>
day(now()) 獲取當天數,ASP輸出:<%=day(now())%>
Minute(now()) 獲取分鐘數,ASP輸出:<%=Minute(now())%>
Second(now()) 獲取秒鐘數,ASP輸出:<%=Second(now())%>
date() 獲取當前系統日期,格式為:2004-2-28
time() 獲取當前系統時間,格式為:22:24:59
DateAdd函數(時間向後)
DateAdd("h",13,Now())其中"h"代表小時,13代表加上13小時,now()是現在的日期時間,也可以"h"可以改變:
設置 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一周的日數
ww 周
h 小時
n 分鐘
s 秒
用時間間隔的方法減去一定的天數
復制代碼 代碼如下:
Function Date1()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
NewTime = NewTime.Format("MM/dd/yyyy", DateTimeFormatInfo)
response.write(NewTime)
End Function
使用加負天數的方法減去一定的天數
復制代碼 代碼如下:
Public Function Date2()
Dim NewTime as DateTime
NewTime = DateTime.Now.AddDays(-7)
Dim s as string = NewTime
return s
End Function
返回日期名稱字符串
復制代碼 代碼如下:
Function Date3()
Dim NewTime as DateTime = now.addDays(-7)
response.write(System.String.Format("{0:MM/dd/yyyy}",NewTime))
End Function
Function Date4()
Dim NewTime as DateTime
NewTime = now.addDays(-7)
return NewTime.ToString()
End Function
使用長時間模式
復制代碼 代碼如下:
Public Function Date5()
Dim NewTime as DateTime
NewTime = Now()
return newtime.toLongTimeString()
End Function
使用短時間模式
復制代碼 代碼如下:
Public Function Date6()
Dim NewTime as DateTime
NewTime = Now()
return newtime.toShortTimeString()
End Function
使用長日期模式
復制代碼 代碼如下:
Public Function Date7()
Dim NewTime as DateTime
NewTime = Now()
return newtime.toLongDateString()
End Function
使用短日起模式
復制代碼 代碼如下:
Public Function Date8()
Dim NewTime as DateTime
NewTime = Now()
return newtime.toShortDatestring()
End Function
格式化日期函數
格式化成通用格式
復制代碼 代碼如下:
Function Date9()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
return formatdatetime(NewTime, 0)
End Function
格式化成長日期格式
復制代碼 代碼如下:
Function Date10()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
return formatdatetime(NewTime, 1)
End Function
格式化成短日期格式
復制代碼 代碼如下:
Function Date11()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
return formatdatetime(NewTime, 2)
End Function
格式化成長時間格式
復制代碼 代碼如下:
Function Date12()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
return formatdatetime(NewTime, 3)
End Function
格式化成短時間格式
復制代碼 代碼如下:
Function Date13()
Dim NewTime as DateTime
NewTime = DateTime.Now.Subtract( New TimeSpan(7, 0, 0, 0) )
return formatdatetime(NewTime, 4)
End Function
單獨顯示時間的年,月,日等部分
顯示日期
復制代碼 代碼如下:
Function Date14()
Dim NewTime as DateTime = now.addDays(-7)
dim s as string
s = (System.String.Format("{0:dddd}",NewTime))
Return s
End Function
返回日期的一周中的第幾天
復制代碼 代碼如下:
Function Date15()
Dim MyDate as DateTime
Dim MyWeekDay as Integer
MyDate = Now.AddDays(-5)
MyWeekDay = Weekday(MyDate)
return MyWeekDay
End Function
返回月份值
復制代碼 代碼如下:
Function Date16()
Dim MyDate as DateTime
Dim MyMonth as Integer
MyDate = Now.AddDays(-5)
MyMonth = Month(MyDate)
return MyMonth
End Function
返回一個格式化後的字符串
復制代碼 代碼如下:
Function Date17()
Dim MyDate as String
MyDate = Format(Now(), "yyyy")
return MyDate
End Function
DateDiff 函數
返回 Variant (Long) 的值,表示兩個指定日期間的時間間隔數目。
語法
DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear]])
DateDiff 函數語法中有下列命名參數:
部分 描述
interval 必要。字符串表達式,表示用來計算date1 和 date2 的時間差的時間間隔
Date1□date2 必要;Variant (Date)。計算中要用到的兩個日期。
Firstdayofweek 可選。指定一個星期的第一天的常數。如果未予指定,則以星期日為第一天。
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 星期六
常數 值 描述
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 剛好是星期日,則 date2 也會被加進 DateDiff 的計數結果中;但不論 date1 是否為星期日,都不將它算進去。
如果 date1 比 date2 來得晚,則 DateDiff 函數的返回值為負數。
firstdayofweek 參數會影響使用時間間隔符號 “W” 或 “WW” 計算的結果。
如果 date1 或 date2 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date1 或 date2 用雙引號 (" ") 括起來,且年份略而不提,則在每次計算表達式 date1 或 date2 時,當前年份都會插入到代碼之中。這樣就可以書寫適用於不同年份的程序代碼。
在計算 12 月 31 日和來年的 1 月 1 日的年份差時,DateDiff 返回 1 表示相差一個年份,雖然實際上只相差一天而已。