Posted: 2004/11月/24 9:47上午 | IP記錄
|
|
|
在腳本中增加日期和時間函數
VBScript有許多函數,使你可以得到各種格式的日期和時間。你已經用過了這些函數中的一個。你可以用函數NOW返回當前的 日期和時間:
At the tone,the time will bi: <%=NOW%>
你應該注意,返回的日期和時間是你的Web服務器的系統時鐘的日期和時間。如果身處紐約的某個人在看你的網頁,他看到的日期和時 間與她當地的日期和時間也許是不一至的。
函數NOW同時返回日期和時間。如果你只想返回當前日期,你可以使用函數DATE。如果你只想返回當前時間,你可以使用函數TI ME。例如:
The date is :<%=DATE%>
The time is :<%=TIME%>
操作日期
使用函數MONTH(),DAY(),WEEKDAY(),和YEAR(),你可以把一個日期分割成更小的部分。所有這些函數都 以一個日期表達式作為參數,並返回一個數字。這裡有一個如何使用這些函數的例子:
The Month is :<%=MONTH(DATE)%>
<BR>
The Day is : <%=DAY(DATE)%>
<BR>
The weekday is :<%=WEEKDAY(DATE)%>
<BR>
The year is :<%=YEAR(DATE)%>
假設當前日期是1997年8月9日,星期三。如果你把上面的例子包含在一個ASP網頁中,在瀏覽器中將顯示如下的文字:
The Month is : 7
The Day is : 9
The weekday is : 4
The year is : 1997
注意函數weekday()假定一個星期的第一天是星期日。如果你想把星期一作為一週的第一天,你可以使用如下的語句:
The weekday is :<%=weekday(DATE,vbWednesday)%>
你可以把任何一天作為一週的第一天。要指定一週的第一天是星期幾,只要用vbSunday,vbMonday,vbTusday ,vbWednesday,vbThurday,vbFriday或vbSaturday代替函數WEEKDAY()的第二個參 數即可。
你不單可以用函數DATE作為這些函數的參數。你也可以提供一個日期字符串或者一個日期常數作為參數,如下例所示:
The weekday is :<%=WEEKDAY(#12/25/2000#)%>
The weekday is :<%=WEEKDAY(「12-25-2000」)%>
這兩個函數都返回2000年聖誕節這一天是星期幾。(這也許使你不習慣:返回值是2,代表星期一。)表達式#12/25/200 0#是一個日期常數,日期常數總是括在字符』#』中。表達式」12-25-2000」是一個日期字符串。用這兩種方法為函數提供 一個日期都是可行的。
要以更加易讀的形式返回月份和星期幾,你可以使用函數WEEKDAYNAME()或MONTHNAME()。這兩個函數返回的是 字符串。這裡有一個使用這兩個函數的例子:
The month is :<%=MONTHNAME(MONTH(DATE))%>
The weekday is:<%=WEEKDAYNAME(WEEKDAY(DATE))%>
假設當前日期是八月,星期三。在這種情況下,第一個函數將返回字符串July,第二個函數返回字符串Wednesday。你可以 把1到12之間的任何整數作為函數MONTHNAME()的參數,你可以把1到7之間的任何整數作為函數WEEKDAYNAME ()的參數。
在缺省情況下,這兩個函數不會縮寫返回的字符串。函數MONTHNAME()返回的是July而不是Jul,函數WEEKDAY NAME()返回的是Wednesday而不是Wed。然而,通過指定第二個參數為TRUE,你可以強制這兩個函數返回縮寫的字 符串。(TRUE表示要縮寫,FALSE表示不縮寫。)如下例所示:
The month is: <%=MONTHNAME(MONTH(DATE),TRUE)%>
The weekday is: <%=WEEKDAYNAME(WEEKDAY(DATE),TRUE)%>
操作時間
你也可以把時間分割成更小的部分。通過函數HOUR(),MINUTE(),和SECOND(),你可以返回時間的不同部分。下 面是使用這些函數的一些例子以及可能的返回值:
The hour is:<%=HOUR(TIME)%>
The hour is:21
The minute is:<%=MINUTE(TIME)%>
The minute is:39
The second is:<%=SECOND(TIME)%>
The second is:34
函數HOUR()返回一個0到23之間的整數(0點是午夜後的一個小時)。函數MINUTE()返回一個0到59之間的整數。函 數SECOND()也返回一個0到59之間的整數。
你不單可以用函數TIME作為這些函數的參數,你還可以提供一個時間常數或時間字符串作為參數。下面的兩個例子都從時間中抽取分 鐘數34:
The minute is:<%=MINUTE(#12:34:19#%>
The minute is:34
The minute is:<%=MINUTE(「12:34:23」)%>
The minute is:34
比較日期和時間
VBScript有兩個用於比較日期和時間的函數。你可以用函數DATEADD()對日期和時間作加法,用函數DATEDIFF ()計算兩個日期或時間的間隔。下面是使用函數DATEADD()的一些例子:
Your registration will exprie on <%=DATEADD(「ww」,6,DATE)%>
Exactly fifteen seconds from now,at<%=DATEADD(「s」,15,TIME)%>your computer
will melt.
第一個例子返回比當前日期晚六個星期的日期,第二個例子返回15秒鐘後的時間中的秒數。
函數DATEADD()有三個參數:
第一個參數指定一個時間間隔。(見表8.2)
第二個參數時間間隔的倍數因子。
最後,第三個參數是一個日期或時間的變量或常量。
表8.2 日期和時間間隔
間隔 描述
yyyy 年
q 季度
m 月
y 天
d 天
w 天
ww 星期
h 小時
m 分鐘
s 秒
你可以用函數DATEDIFF確定兩個日期或時間之間的間隔。下面的例子演示了如何使用這個函數:
You have been a member for <%=DATEDIFF(「d」,」1/1/1988」,DATE)%> days.
There are exactly <%=DATEDIFF(「s」,DATE,」1/1/2000」)%> seconds remaining until
the year 2000.
第一個例子中的DATEDIFF()函數返回1/1/1988與當前日期之間的天數。第二個例子中的DATEDIFF()返回當 前日期到2000年之間的秒數。
函數DATEDIFF()有三個參數:
第一個參數是一個日期或時間間隔(參見表8.2).
另兩個參數是兩個日期。為了避免出現負數,第一個日期參數應該比第二個早。(如果該函數返回一個負數,你應該知道第一個日期比第 二個日期晚。)
格式化日期和時間
你可以規定一個日期或時間的顯示格式。在缺省情況下,當你通過函數DATE顯示一個日期時,它看起來是這樣的:
7/9/97
但是,你可以用函數FORMATDATETIME()顯示一個基於你計算機的區域設置的日期。你可以把一個日期顯示為短日期格式 或長日期格式。
注意
從控制面板中選擇區域設置圖標,可以為你的計算機進行區域設置。你可以通過區域設置來指定日期和時間的長格式或短格式。
下面的例子演示了如何控制長日期格式和短日期格式的顯示:
Short Date:<%=FORMATDATETIME(DATE,vbShortDate)%>
Long Date:<%=FORMATDATETIME(DATE,vbLongDate)%>
當根據英國(美國)區域設置顯示日期時,日期顯示為如下的格式:
Short Date:7/9/97
Long Date:Wednesday,July 09,1997
注意短日期格式的顯示與不做任何格式化時完全相同。在缺省情況下,日期以短日期格式顯示。
你也可以用函數FORMATDATETIME()格式化一個時間。同樣,你可以指定一個時間顯示為長格式或短格式。當用短格式顯 示時間時,將使用24小時時鐘(軍事時間)。下面的例子演示了如何用FORMATDATETIME()函數操作時間:
Short Time:<%=FORMATDATETIME(TIME,vbShortTime)%>
Long Time:<%=FORMATDATETIME(TIME,vbLongTime)%>
當以英國(美國)區域設置顯示時間時,時間的格式如下:
Short Time:03:20
Long Time:3:20:08 AM
|