请问一个求2个now()时间差的问题,谢谢

dusttosky 2012-08-22 11:35:20
我用rs查询出多条数据库记录, 其中每一条都包含有开始日期,结束日期.
我想在asp中每一条记录后面都加个文本框显示出对应的这2个日期的时间差, 格式为 小时:分钟:秒. 请问用什么办法吗?

我自己找了点方法,但是没成功,请高人也帮我看看吧..错误在哪里.

最好可以页面一打开就自动计算出来的.

<input name="sj" type="text" id="sj" onclick="TimeDiff(<%=rs("wcrq")%>,<%=rs("gjrq")%>)" size="10" >

这个是函数

<script type="text/javascript">
Function TimeDiff(sBegin,sEnd)
Dim iHourB, iMinuteB, iSecondB, iMiniSecondB
Dim iHourE, iMinuteE, iSecondE, iMiniSecondE
Dim dTimeB, dTimeE, dTimeDiff
Dim iHour, iMinute, iSecond, iMiniSecond

iHourB = clng(Left(sBegin, 2))
iMinuteB = clng(Mid(sBegin, 4, 2))
iSecondB = clng(Mid(sBegin, 7, 2))
iMiniSecondB = clng(Mid(sBegin, 10, 4))

iHourE = clng(Left(sEnd, 2))
iMinuteE = clng(Mid(sEnd, 4, 2))
iSecondE = clng(Mid(sEnd, 7, 2))
iMiniSecondE = clng(Mid(sEnd, 10, 4))

dTimeB = iHourB * 3600 + iMinuteB * 60 + iSecondB + iMiniSecondB / 1000
dTimeE = iHourE * 3600 + iMinuteE * 60 + iSecondE + iMiniSecondE / 1000
dTimeDiff = dTimeE - dTimeB

iHour = Int(dTimeDiff / 3600)
dTimeDiff = dTimeDiff - iHour * 3600
iMinute = Int(dTimeDiff / 60)
dTimeDiff = dTimeDiff - iMinute * 60
iSecond = Int(dTimeDiff)
dTimeDiff = dTimeDiff - Int(dTimeDiff)
iMiniSecond = dTimeDiff

TimeDiff = iHour & "小时" & iMinute & "分钟" & iSecond & FormatNumber(iMiniSecond, 3) & "秒"

document.getElementById("sj").value=TimeDiff;
End Function
</script>
...全文
73 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2012-08-22
  • 打赏
  • 举报
回复
asp不很懂 但你可以查查有没有这样的方法 就是把开始和结束日期转换成格林威治时间 就是从1970年几月几号到现在的毫秒数,然后用结束日期的格林威治时间减去开始时间的格林威治时间,算出两者的毫秒数的差,然后转换成时分秒试试

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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