如何获得两个时间之间的所有天数

ddff12 2015-02-03 07:59:30
我想用asp写一个获取所有天字符串的方法,比如如下:
其中startdate和enddate都是字符串,字符串格式为“20150120”或者“20150203”
function PrintAllDate(startdate, enddate)
’...
‘...
‘可以循环打印出所有的日期
Response.Write ret
End function
比如传入“20150226”和“20150302”,那么应该打印出:
20150226
20150227
20150228
20150301
20150302
可以自动判断闰年信息。如何实现?
...全文
295 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddff12 2015-02-04
  • 打赏
  • 举报
回复
搞定了,多谢,给分!
  • 打赏
  • 举报
回复
DateSerial(Mid(startdate,1,4),Mid(startdate,5,2),Mid(startdate,7,2)) 应该改成 CDate(Mid(startdate,1,4) & “-” &Mid(startdate,5,2) & “-” & Mid(startdate,7,2))
引用 4 楼 ddff12 的回复:
sd = DateSerial(Mid(startdate,1,4),Mid(startdate,5,2),Mid(startdate,7,2)) ed = DateSerial(Mid(enddate,1,4),Mid(enddate,5,2),Mid(enddate,7,2)) 类型不匹配错误,用Cint转换了依然报错,怎么回事啊?
ddff12 2015-02-04
  • 打赏
  • 举报
回复
sd = DateSerial(Mid(startdate,1,4),Mid(startdate,5,2),Mid(startdate,7,2)) ed = DateSerial(Mid(enddate,1,4),Mid(enddate,5,2),Mid(enddate,7,2)) 类型不匹配错误,用Cint转换了依然报错,怎么回事啊?
xcgh 2015-02-04
  • 打赏
  • 举报
回复
http://www.jb51.net/article/12904.htm
天际的海浪 2015-02-04
  • 打赏
  • 举报
回复

function PrintAllDate(startdate, enddate)
	Dim sd,ed,d,i,l,ret,mt,dt
	sd = DateSerial(Mid(startdate,1,4),Mid(startdate,5,2),Mid(startdate,7,2))
	ed = DateSerial(Mid(enddate,1,4),Mid(enddate,5,2),Mid(enddate,7,2))
	l = DateDiff("d",sd,ed)
	For i=0 To l
		d = DateAdd("d",i,sd)
		mt = DatePart("m",d)
		If mt<10 Then mt="0"&mt
		dt = DatePart("d",d)
		If dt<10 Then dt="0"&dt
		ret = DatePart("yyyy",d)&mt&dt
		Response.Write ret
	Next
End function

PrintAllDate "20150226","20150302"

天际的海浪 2015-02-03
  • 打赏
  • 举报
回复
不是有现成DateDiff()函数么?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧