本文提供vbscript时间函数的概要介绍,可应对一般应用,具体特殊需求可进一步搜索。
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
Now()
取得系统当前的日期和时间
Dim
MyVar
MyVar
=
Now
MyVar
包含当前的日期和时间。
Date
Date()
取得系统当前的日期
Dim
MyDate
MyDate
=
Date
MyDate
包含当前系统日期。
Time
Time()
取得系统当前的时间
Dim
MyTime
MyTime
=
Time
返回当前系统时间。
Year
Year(Date)
取得给定日期的年份
Dim
MyDate,
MyYear
MyDate
=
#October
19,
1962#
函数
语法
说明
示例
Now
Now()
取得系统当前的日期和时间
Dim
MyVar
MyVar
=
Now
MyVar
包含当前的日期和时间。
Date
Date()
取得系统当前的日期
Dim
MyDate
MyDate
=
Date
MyDate
包含当前系统日期。
Time
Time()
取得系统当前的时间
Dim
MyTime
MyTime
=
Time
返回当前系统时间。
Year
Year(Date)
取得给定日期的年份
Dim
MyDate,
MyYear
MyDate
=
#October
19,
1962#
分派一日期。
MyYear
=
Year(MyDate)
MyYear
包含
1962。
Month
Month(Date)
取得给定日期的月份
Dim
MyVar
MyVar
=
Month(Now)
MyVar包含当前月对应的数字。
Day
Day(Date)
取得给定日期是几号
Dim
MyDay
MyDay
=
Day("October
19,
1962")
MyDay包含
19。
Hour
Hour(time)
取得给定时间是第几小时
Dim
MyTime,
MyHour
MyTime
=
Now
MyHour
=
Hour(MyTime)
MyHour
包含代表当前时间的数值。
Minute
Minute(time)
取得给定时间是第几分钟
Dim
MyVar
MyVar
=
Minute(Now)
Second
Second(time)
取得给守时间是第几秒
Dim
MySec
MySec
=
Second(Now)
MySec
包含代表当前秒的数字。
WeekDay
WeekDay(Date)
取得给定日期是星期几的整数,1表示星期日,2表示星期一,依此类推
Dim
MyDate,
MyWeekDay
MyDate
=
#October
19,
1962#
分派日期
MyWeekDay
=
Weekday(MyDate)
MyWeekDay
包含
6,MyDate
代表星期五
DateDiff
DateDiff("Var",Var1,Var2)
Var:日期或时间间隔因子,有如下参数:
yyyy
年
m月
d
日
ww星期
h小时
s秒
Var1:第一个日期或时间
Var2:第二个日期或时间,比Var1晚
计算两个日期或时间的间隔
DateDiff("d",Date(),#1/1/2005#)
返回离2005元旦还有多少
DateDiff("h",Date(),#1/1/2005#)
返回离2005元旦还有多少小时
DateDiff("d",#1/1/2003#,#1/1/2005#)
返回两个日期之间的天数
DateAdd
DateDiff("Var",Var1,Var2)
Var:日期或时间间隔因子:
Var1:日期或时间间隔倍数
Var2:日期或时间的基准
对两个日期或时间作加法
如下示例将
95
年
1
月
31
日加上一个月:
NewDate
=
DateAdd("m",
1,
"31-Jan-95")
在这个示例中,DateAdd
返回
95
年
2
月
28
日,而不是
95
年
2
月
31
日。如果
date
为
96
年
1
月
31
日,则返回
96
年
2
月
29
日,这是因为
1996
是闰年。
如果计算的日期是在公元
100
年之前,则会产生错误。
FormatDateTime
FormatDateTime(Date,vbShortDate)
转化为短日期格式
FromatDateTime(Date(),vbLongDate)
"以长日期格式显示
FormatDateTime(Date,vbLongDate)
转化为长日期格式
FormatDateTime(Date,vbShortTime)
转化为短时间格式
FormatDateTime(Date,vbLongTime)
转化为长时间格
分几种情况:
如果当天是周日,五个工作日后就是下周一,共8天后日期
如果当天在周一至周五,五个工作日后刚好对应下周周N,共7天后日期
如果当天是周六,五个工作日后就是下下周一,共9天后日期
<%
Dim ymd,i_d,week
ymd=Date '当前日期
week=Weekday(ymd) '当前日期是周几
If week=1 Then
i_d=8
ElseIf week=6 Then
i_d=9
Else
i_d=7
End If
Responsewrite i_d&" "&DateAdd("d",i_d,date) '得到五个工作日后的日期
%>
asp取得完整时间的年月日 可以使用FormatDateTime
具体示例
比如现在有一个时间为 now()
可以写成
<%=FormatDateTime(now(),1)%>这样就是当前的年月日了。
如果是数据库里的时间 比如数据库时间字段为date 可以写成
<%=FormatDateTime(rs("date"),1)%>这里延伸一下:
0 根据系统设置显示日期或时间
1 以长日期格式显示日期
2 以短日期格式显示日期
3 以长时间格式显示时间
4 以短时间格式显示时间
最简单的方式: <%=hour(now())%>:<%=minute(now())%>:<%=second(now())%>
再看一下有关时间的函数,相信能用上
Date()函数获取日期, Time()函数获取时间。 Now()函数可以获取当前的日期加时间。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
这样显示出来的时间不是即时刷新的,如果要自动刷新还需js代码配合。可用JS代码如下:
<span id="span_dt_dt" style='border:1px solid black;background-color:#FFFFFF' ></span><SCRIPT language=javascript>
<!--
//documentwrite("");
function show_date_time(){
windowsetTimeout("show_date_time()", 1000);
var now = new Date(); //获取系统日期
//获取时间
var hh = nowgetHours(); //获取小时
var mm = nowgetMinutes(); //获取分钟
var ss = nowgetTime() % 60000; //获取时间,因为系统中时间是以毫秒计算的,
//所以秒要通过余60000得到。
ss = (ss - (ss % 1000)) / 1000; //然后,将得到的毫秒数再处理成秒
span_dt_dtinnerHTML=hh+"时"+mm+"分"+ss+"秒"+now;
}
show_date_time();
//-->
</SCRIPT>
不明白楼主的意思,能不能说明白点
上面的代码只是生成三个下拉菜单,并初始化赋值为2000,1,1
--------
第二个页面获取
你可以通过include把它放到同另一个页面适当的位置:
<!--#include file="这个ASP文件地址"-->
然后通过JavaScript或VBScript获取它们的值:
<script language=javascript>
//通过下面代码,获取下拉选项年、月、日的值,并分别保存到getY、getM、getD变量中,再合并为getYMD。
var getY=documentall["selYear"]value;
var getM=documentall["selMonth"]value;
var getD=documentall["selDay"]value;
var getYMD=new Date(getY,getM,getD)toLocaleString();
alert(getYMD);//显示为2000年1月1日
</script>
++++++++++++++++++++++
da6wei6、江南财子 的方法已可以实现由A页将数据传达到B页了。
他们用的method=get,如果所传的数据量大,不止日期,则应该用method=post来传递。下面我列出A页与B页的代码:
(A页)ahtm
<form action="basp" name="myForm" method="post">
<input type=hidden name="myDate" id="myDate" value="">//这个作为隐藏的数据,提交时用它保存日期
///////////////
你的代码放这里
///////////////
……
<input type=submit onclick="setData()">
<script language=javascript>
function setData(){
var getY=documentall["selYear"]value;
var getM=documentall["selMonth"]value;
var getD=documentall["selDay"]value;
var getYMD=new Date(getY,getM,getD)toLocaleString();
windowdocumentgetElementById("myDate")value=getYMD;
return true;
}
</script>
basp代码:
具体导入数据库过程就不用说了吧,
获取日期的原理一样,用request("myDate")就可以了。
可以使用函数格式化时间格式
'转换时间格式
Function DateToStr(DateTime,ShowType)
Dim DateMonth,DateDay,DateHour,DateMinute,DateWeek,DateSecond
Dim FullWeekday,shortWeekday,Fullmonth,Shortmonth,TimeZone1,TimeZone2
TimeZone1="+0800"
TimeZone2="+08:00"
FullWeekday=Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
shortWeekday=Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
Fullmonth=Array("January","February","March","April","May","June","July","August","September","October","November","December")
Shortmonth=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
DateMonth=Month(DateTime)
DateDay=Day(DateTime)
DateHour=Hour(DateTime)
DateMinute=Minute(DateTime)
DateWeek=weekday(DateTime)
DateSecond=Second(DateTime)
If Len(DateMonth)<2 Then DateMonth="0"&DateMonth
If Len(DateDay)<2 Then DateDay="0"&DateDay
If Len(DateMinute)<2 Then DateMinute="0"&DateMinute
Select Case ShowType
Case "Y-m-d"
DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay
Case "Y-m-d H:I A"
Dim DateAMPM
If DateHour>12 Then
DateHour=DateHour-12
DateAMPM="PM"
Else
DateHour=DateHour
DateAMPM="AM"
End If
If Len(DateHour)<2 Then DateHour="0"&DateHour
DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&" "&DateAMPM
Case "Y-m-d H:I:S"
If Len(DateHour)<2 Then DateHour="0"&DateHour
If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&":"&DateSecond
Case "YmdHIS"
DateSecond=Second(DateTime)
If Len(DateHour)<2 Then DateHour="0"&DateHour
If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
DateToStr=Year(DateTime)&DateMonth&DateDay&DateHour&DateMinute&DateSecond
Case "ym"
DateToStr=Right(Year(DateTime),2)&DateMonth
Case "d"
DateToStr=DateDay
Case "ymd"
DateToStr=Right(Year(DateTime),4)&DateMonth&DateDay
Case "mdy"
Dim DayEnd
select Case DateDay
Case 1
DayEnd="st"
Case 2
DayEnd="nd"
Case 3
DayEnd="rd"
Case Else
DayEnd="th"
End Select
DateToStr=Fullmonth(DateMonth-1)&" "&DateDay&DayEnd&" "&Right(Year(DateTime),4)
Case "w,d m y H:I:S"
DateSecond=Second(DateTime)
If Len(DateHour)<2 Then DateHour="0"&DateHour
If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
DateToStr=shortWeekday(DateWeek-1)&","&DateDay&" "& Left(Fullmonth(DateMonth-1),3) &" "&Right(Year(DateTime),4)&" "&DateHour&":"&DateMinute&":"&DateSecond&" "&TimeZone1
Case "y-m-dTH:I:S"
If Len(DateHour)<2 Then DateHour="0"&DateHour
If Len(DateSecond)<2 Then DateSecond="0"&DateSecond
DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&"T"&DateHour&":"&DateMinute&":"&DateSecond&TimeZone2
Case Else
If Len(DateHour)<2 Then DateHour="0"&DateHour
DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute
End Select
End Function
调用方式: DateToStr(日期,格式)
例:DateToStr(now(),"Y-m-d H:I:S")
以上就是关于asp中的一些日期时间函数全部的内容,包括:asp中的一些日期时间函数、asp access 根据当前日期 计算5个工作日(不含周六、日)后的日期、ASP中,如何在完整日期时间中取得年月日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)