y=2016 '年份
z=25 '第几周
d=dateadd("ww",z-1,dateserial(y,1,1)) '第几周后的日期
w=weekday(d) '星期几。1为星期日,2为星期一,类推
t=d-w+6 '最后一个工作日即星期五的日期
response.write y & "年第" & z & "周的最后一个工作日是" & t
%>
5分....
闲着没事,就做做吧..
Response.Write CheckWeek("2013W43") '显示2013年第43周是几号到几号...Function CheckWeek(Week)
'每年第一周,从1月1日起计.
Dim FirstDay,EndDay,FirstYW,WeekNum,EndWeekDay,EndYW,DateStr_Arr(6)
FirstDay=Left(Week,4)&"/1/1" '当年第一天
EndDay=Left(Week,4)&"/12/31" '当年最后一天
FirstYW=Weekday(FirstDay,2) '当年第一天处在周几
WeekNum=Cint(Right(Week,Len(Week)-5)) '取出周数
If WeekNum=1 Then '如果是计算第一周,则只算1月1号到本周日
For I=0 To 7-FirstYW '顺推到周日
EndWeekDay=Dateadd("D",I,FirstDay)
DateStr_Arr(I)=EndWeekDay
Next
CheckWeek="[ "&DateStr_Arr(0)&" ]到[ "&DateStr_Arr(7-FirstYW)&" ]"
ElseIf WeekNum=52 or WeekNum=51 or WeekNum=53 Then '针对有51\52\53周不同情况的年份
DayNum=(WeekNum)*7-FirstYW
EndYW=Dateadd("D",DayNum,FirstDay) '本周日是几号.倒推到周
If Datediff("yyyy",EndYW,EndDay)=0 Then '不跨年,继续倒推
For I=0 To 6
X=0-I
EndWeekDay=Dateadd("D",X,EndYW)
DateStr_Arr(I)=EndWeekDay
Next
CheckWeek="[ "&DateStr_Arr(6)&" ]到[ "&DateStr_Arr(0)&" ]" &EndYW
Else
EndYW=Weekday(EndDay,2)
For I=0 To EndYW-1 '倒推到周一
X=0-I
EndWeekDay=Dateadd("D",X,EndDay)
DateStr_Arr(I)=EndWeekDay
Next
CheckWeek="[ "&DateStr_Arr(EndYW-1)&" ]到[ "&DateStr_Arr(0)&" ]"
End If
Else
DayNum=(WeekNum)*7-FirstYW
EndYW=Dateadd("D",DayNum,FirstDay) '本周日是几号.倒推到周一
For I=0 To 6
X=0-I
EndWeekDay=Dateadd("D",X,EndYW)
DateStr_Arr(I)=EndWeekDay
Next
CheckWeek="[ "&DateStr_Arr(6)&" ]到[ "&DateStr_Arr(0)&" ]"
End IF
End Function
本文提供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)
转化为长时间格
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)