<%
  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转换为数字格式的呢?

解决方案 »

  1.   

    remainTimeValue1这个数据的格式贴出来阿
      

  2.   

    var tmp = "10-26-2010 15:00:00";
    tmp = tmp.split(/[\-\s\:]/);
    endTime=new Date(tmp[2],tmp[0]-1,tmp[1],tmp[3],tmp[4],tmp[5]);
    alert(endTime);
      

  3.   


    hiddenTimeValue是这样写的:
    <input type="hidden" id="hiddenTimeValue" value="rs("remainTime")" />
      

  4.   

    new Date("remainTimeValue1");
    首先,你这个引号就不对,你这样不就传进去个字符串是remainTimeValue1的值了吗?
    其次,我是想问你remainTimeValue1,现在的值是多少/
      

  5.   

    时间格式如果为:2010/10/26 15:00:00呢
    var tmp="2010/10/26 15:00:00"
    tmp=tmp.split(/[\-\s\:]/);
    endTime=new Date(tmp[4],tmp[)
    到这就不会写了,能否解释下这句代码,对正则表达式不熟
      

  6.   

    那你就把从数据库里取出来的时间转换成你想要的格式呗
    参考这个帖子中http://topic.csdn.net/u/20101026/14/7d5361a4-9e35-4f0e-a626-9d447c2123db.html?94202的代码
      

  7.   

    var tmp="2010/10/26 15:00:00";
    tmp=tmp.match(/\d+/g);
    endTime=new Date(tmp[0],tmp[1]-1,tmp[2], tmp[3],tmp[4],tmp[5]);
      

  8.   

    把两个" "去了之后,span就不见了,这样应该不对吧?
    remainTimeValue1的值为:2010/10/26 15:00:00
    刚刚换过一种格式了
      

  9.   

    谢谢三位的帮忙,用完zhangshaolongjj最后一点建议后已成功实现,谢谢帮忙!
    弄这么一个简单的小程序,捣鼓了4个小时了,谢谢!!!可以结帖了