asp DateDiff时间差问题~ 帮忙解决一下
大家看看这段代码 :
<%
dim timers,timestr,time_now
time_now=now()
timestr="select * from student where studyid='"&session("studyid")&"'"
set timers=server.CreateObject("adodb.recordset")
timers.open timestr,Conn,1,3
timers("t")=timers("t")+datediff("n",session("time1"),time_now)
'累计时间timers("time")=原有时间+(当前时间 - 初始时间),datediff()是一个计算时间差值的函数,第一个参数是设置差值的单位,"s"表示差值单位为秒,第二个参数是时间1,第三个参数是时间2,差值为时间2减时间1;
timers.update
timers.close
set timers=nothing
Conn.close
set Conn=nothing
session("time1")=now() '从新设置初始时间为当前时间,为下一次计算作准备
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="refresh" content="10">
<title>refresh</title>
</head>
问题是这样的 ,我在做用户的网上停留时间(停留时长),在数据库 t 字段里获取 在线停留的累计时间 ,t 是 我设了int类型, t 里面的数字就是 分钟 如: 12
但是 在线停留一段时间后 字段里面的数字是 一个很长的数字 比如:3545500576
高手帮忙我解决一下 ~ 谢谢~
我怎么获取真正的 停留时长?如:50 ,20等等 是不是哪里有问题?
timers("t")是累计时间 ,是不是这里有问题?
<meta http-equiv="refresh" content="10"> 这个每十秒给数据库发送一次请求。
------解决方案--------------------
C# code
timers("t")=timers("t")+datediff("n",session("time1"),time_now)
这改成 timers("t")= = clng(timers("t"))+datediff("n",session("time1"),time_now)
试试 类型转换成数字,你从数据库里面读取出来的 timers("t") 是字符类型,要转换成数字类型才能进行数学运算