求日期处理函数

dgseamaple 2004-11-26 05:01:05
function getfirstday(date)
'函数主体
'返回输入的日期date中月份的第一个星期天
end function


function getlastday(date)
'函数主体
'返回输入的日期date中月份的最后一个星期天
end function

'调用函数返回结果如下:
thedate="2004-11-26"
firstday=getfirstday(thedate) '返回结果为2004-11-7
lastday=getlastday(thedate) '返回结果为2004-11-28
...全文
207 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dgseamaple 2004-11-27
自己顶...
回复
顺子 2004-11-27
學習
回复
dgseamaple 2004-11-27
楼上的兄台:
year1.month1 '---------year1是一个对象?
函数怎么没有返回值的?
回复
777dragon 2004-11-27
还没搞定?_?

Function FirstDay(para) '第一天
FirstDay=Year(para)&"-"&Month(para)&"-"&"1"
End Function

Function LastDay(para) '最后一天
LastDay=DateAdd("d",-1,DateAdd("m",1,FirstDay(para)))
End Function

Function GetFirstSunday(para) '第一个周日
GetFirstSunday=DateAdd("d",8-Weekday(FirstDay(para)),FirstDay(para))
End Function

Function GetLastSunday(para) '最后一个周日
GetLastSunday=DateAdd("d",1-Weekday(LastDay(para)),LastDay(para))
End Function

response.write GetFirstSunday("2004-11-27")
response.write GetLastSunday("2004-11-27")
回复
cailover 2004-11-26
date2=dateserial(year1.month1,31)
这句话没有问题!
如果是2月或者是只有30天的月份,它会到了月底就顺延到下个月,所以不影响判断!!!
回复
960379 2004-11-26
本思路中不用到循环,看来比上面两位的要快。呵呵。
回复
960379 2004-11-26
给你将个思路吧。
这里要用到weekday函数。
得到输入时间后,构造一个新日期为那个月的1号。
然后使用weekday函数得到该新日期为周几,那么就得到该月第一个星期天是几号了。

构造新日期为下个月的1号,就可以得到该月最后一个星期天是几号了。
回复
若白师妹 2004-11-26
<script language=vbs>
str="2004-11-14"
function getfirstday(str)
tmp1=dateadd("d",-day(str)+1,str)
for i=0 to 7
if Weekday(dateadd("d",i,tmp1))=1 then
msgbox "第一个星期天为:"&dateadd("d",i,tmp1)
exit for
end if
next
end function

function getlastday(str)
tmp=dateadd("m",1,str)
tmp2=year(tmp)&"-"&month(tmp)&"-1"
tmp3=dateadd("d",-1,tmp2)
msgbox "最后一天为:"&tmp3
for j=0 to 7
if weekday(dateadd("d",-j,tmp3))=1 then
msgbox "最后一个星期天为:"&dateadd("d",-j,tmp3)
exit for
end if
next
end function
call getfirstday(str)
call getlastday(str)
</script>
回复
cailover 2004-11-26
我的思路是用weekday()函数

function getfirstday(date)

year1=year(date)
month1=month(date)
date1=dateserial(year1.month1,1)

i=weekday(date1)
if i=1 then
thedate=date1
elseif i=2 then
thedate=date1+6
elseif i=3 then
thendate=date1+5
elseif i=4 then
thendate=date1+4
elseif i=5 then
thendate=date1+3
elseif i=6 then
thendate=date1+2
elseif i=7 then
thendate=date1+1
end if
end function


##########################################
function getlastday(date)

year2=year(date)
month2=month(date)
date2=dateserial(year1.month1,31)

i=weekday(date2)
if i=1 then
thedate=date2
elseif i=2 then
thedate=date2-1
elseif i=3 then
thendate=date2-2
elseif i=4 then
thendate=date2-3
elseif i=5 then
thendate=date2-4
elseif i=6 then
thendate=date2-5
elseif i=7 then
thendate=date2-6
end if
end function
回复
dgseamaple 2004-11-26
很急的,帮帮忙,谢谢。解决后立即结贴,绝对守信用。
回复
dgseamaple 2004-11-26
是啊,帮帮忙!~~~~比较急的。
回复
777dragon 2004-11-26
@_@ 又有 ?
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-11-26 05:01
社区公告
暂无公告