这是我收藏的最好的,最容易看明白的代码了,现在放在这里和大家一起分享一下,ASP日期和时间函数:
<%=year(now)%>年<%=month(now)%>月<%=day(now)%>日 <%=weekdayname(weekday(now))%>
显示:
今日是: 2003年10月31日 星期五
VBScript有许多函数,使你可以得到各种格式的日期和时间。你已经用过了这些函数中的一个。你可以用函数NOW返回当前的日期和时间:
At the tone,the time will bi: <%=NOW%>
你应该注意,返回的日期和时间是你的Web服务器的系统时钟的日期和时间。如果身处纽约的某个人在看你的网页,他看到的日期和时间与她当地的日期和时间也许是不一至的。
函数NOW同时返回日期和时间。如果你只想返回当前日期,你可以使用函数DATE。如果你只想返回当前时间,你可以使用函数TIME。例如:
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/2000#是一个日期常数,日期常 数总是括在字符’#’中。表达式”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,函数WEEKDAYNAME()返回的是 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