<%
Dim Conn,ConnStr
On error resume next
Set Conn=Server.CreateObject("ADODB.Connection")
ConnStr="provider=microsoft.ACE.oledb.12.0;data source=" & server.MapPath("test.accdb")
Conn.open ConnStr
if err then
err.clear
Set Conn = Nothing
Response.Write "系统错误:数据库连接出错"
Response.End
end if
dim rs,sql,remainTime
set rs = server.createobject("adodb.recordset")
sql="select * from test1"
rs.open sql,conn,1,3
%><%=rs("remainTime")%><%
rs.close
set rs=nothing
%>
<br>距拍卖开始还有<br>
<SCRIPT language=javascript>
function show_time(){
var time
window.setTimeout("show_time()", 1000);
endTime=new Date("10-26-2010 15:00:00");
now=new Date();
timeInterval=(endTime.getTime()-now.getTime()); //间隔时间毫秒数
timeIntervalSec=timeInterval/1000
secondsold=Math.floor(timeIntervalSec);
milliSecPerDay=24*60*60*1000 //milliSecPerDay:一天的毫秒数(毫秒:milliseconds
//B_remainDay中B:Before,转换Math.floor之前的剩余天数
B_remainDay=timeInterval/milliSecPerDay
remainDay=Math.floor(B_remainDay);
B_remainHour=(B_remainDay-remainDay)*24;
remainHour=Math.floor(B_remainHour);
B_remainMinute=(B_remainHour-remainHour)*60;
remainMinute=Math.floor((B_remainHour-remainHour)*60);
seconds=Math.floor((B_remainMinute-remainMinute)*60);
showtime.innerHTML=remainDay+"天"+remainHour+"小时"+remainMinute+"分"+seconds+"秒" ;
}
show_time();
</SCRIPT>
<span id="showtime" style='border:1px solid black;background-color:#CCC' ></span> 主要是在endTime这块:如果手写10-26-2010 15:00:00,没有任何问题,程序正常
如果改为<%=rs("remainTime")%>之后就不行了,显示NaN天NaN小时NaN分NaN秒
我还试过的一种方法:设置一个hidden,指定hidden的值为<%=rs("remainTime")%>,
然后在js里这么写:
var remainTimeValue1=document.getElementById("hiddenTimeValue").value;
endTime=new Date("remainTimeValue1")
结果还是一样的,NaN天。NaN秒
NaN指非数字,那么有什么办法可以把endTime=new Date("xxx")中的xxx转换为数字格式的呢?
Dim Conn,ConnStr
On error resume next
Set Conn=Server.CreateObject("ADODB.Connection")
ConnStr="provider=microsoft.ACE.oledb.12.0;data source=" & server.MapPath("test.accdb")
Conn.open ConnStr
if err then
err.clear
Set Conn = Nothing
Response.Write "系统错误:数据库连接出错"
Response.End
end if
dim rs,sql,remainTime
set rs = server.createobject("adodb.recordset")
sql="select * from test1"
rs.open sql,conn,1,3
%><%=rs("remainTime")%><%
rs.close
set rs=nothing
%>
<br>距拍卖开始还有<br>
<SCRIPT language=javascript>
function show_time(){
var time
window.setTimeout("show_time()", 1000);
endTime=new Date("10-26-2010 15:00:00");
now=new Date();
timeInterval=(endTime.getTime()-now.getTime()); //间隔时间毫秒数
timeIntervalSec=timeInterval/1000
secondsold=Math.floor(timeIntervalSec);
milliSecPerDay=24*60*60*1000 //milliSecPerDay:一天的毫秒数(毫秒:milliseconds
//B_remainDay中B:Before,转换Math.floor之前的剩余天数
B_remainDay=timeInterval/milliSecPerDay
remainDay=Math.floor(B_remainDay);
B_remainHour=(B_remainDay-remainDay)*24;
remainHour=Math.floor(B_remainHour);
B_remainMinute=(B_remainHour-remainHour)*60;
remainMinute=Math.floor((B_remainHour-remainHour)*60);
seconds=Math.floor((B_remainMinute-remainMinute)*60);
showtime.innerHTML=remainDay+"天"+remainHour+"小时"+remainMinute+"分"+seconds+"秒" ;
}
show_time();
</SCRIPT>
<span id="showtime" style='border:1px solid black;background-color:#CCC' ></span> 主要是在endTime这块:如果手写10-26-2010 15:00:00,没有任何问题,程序正常
如果改为<%=rs("remainTime")%>之后就不行了,显示NaN天NaN小时NaN分NaN秒
我还试过的一种方法:设置一个hidden,指定hidden的值为<%=rs("remainTime")%>,
然后在js里这么写:
var remainTimeValue1=document.getElementById("hiddenTimeValue").value;
endTime=new Date("remainTimeValue1")
结果还是一样的,NaN天。NaN秒
NaN指非数字,那么有什么办法可以把endTime=new Date("xxx")中的xxx转换为数字格式的呢?
tmp = tmp.split(/[\-\s\:]/);
endTime=new Date(tmp[2],tmp[0]-1,tmp[1],tmp[3],tmp[4],tmp[5]);
alert(endTime);
hiddenTimeValue是这样写的:
<input type="hidden" id="hiddenTimeValue" value="rs("remainTime")" />
首先,你这个引号就不对,你这样不就传进去个字符串是remainTimeValue1的值了吗?
其次,我是想问你remainTimeValue1,现在的值是多少/
var tmp="2010/10/26 15:00:00"
tmp=tmp.split(/[\-\s\:]/);
endTime=new Date(tmp[4],tmp[)
到这就不会写了,能否解释下这句代码,对正则表达式不熟
参考这个帖子中http://topic.csdn.net/u/20101026/14/7d5361a4-9e35-4f0e-a626-9d447c2123db.html?94202的代码
tmp=tmp.match(/\d+/g);
endTime=new Date(tmp[0],tmp[1]-1,tmp[2], tmp[3],tmp[4],tmp[5]);
remainTimeValue1的值为:2010/10/26 15:00:00
刚刚换过一种格式了
弄这么一个简单的小程序,捣鼓了4个小时了,谢谢!!!可以结帖了