我在做一个拍卖的功能,前台用js方法写了一个setInterval倒计时,用js获取当前时间,然后根据最后一个出价人的时间,倒计时24个小时,将这个时间以倒计时方法写在页面上。可是这么做会出现一个问题:
假如最后一个出价时间是在 09-8-5 19:12:56 那么应该到09-8-6 19:12:56 拍卖结束
可是因为js获取的是客户端的时间,那么就会产生问题
如果客户端时间不对,如果早了,程序会报异常;如果客户端时间晚了,那么倒计时就永远结束不了了
所以现在想换一个方法:在后台取得程序的当前时间,用这个时间减去最后一次出价时间,将这个时间差返回给前台js,比如返回的是 7:15:40 ,js每隔一秒调用方法,在这个方法里每隔一秒减去这个时间差
大家明白我的意思么?或者,我该用其他什么办法?反正获取客户端的时间是行不通的
假如最后一个出价时间是在 09-8-5 19:12:56 那么应该到09-8-6 19:12:56 拍卖结束
可是因为js获取的是客户端的时间,那么就会产生问题
如果客户端时间不对,如果早了,程序会报异常;如果客户端时间晚了,那么倒计时就永远结束不了了
所以现在想换一个方法:在后台取得程序的当前时间,用这个时间减去最后一次出价时间,将这个时间差返回给前台js,比如返回的是 7:15:40 ,js每隔一秒调用方法,在这个方法里每隔一秒减去这个时间差
大家明白我的意思么?或者,我该用其他什么办法?反正获取客户端的时间是行不通的
解决方案 »
- 使用extjs做了一个弹出层,想在层中加个grid,怎么加才能显示出来
- js报没有权限
- 函数互相调用怎么判断参数是函数名还是普通字符?
- 忘情火 请进
- 用javascript能否出判断多个<input type="checkbox"......>多选框至少选择了一个?
- SWF格式的动画怎么运用啊,求大虾!
- 新手请教一下这个点击展开和收起列表的写法是怎么实现的?
- 大家快帮帮忙,急!!分不够可以再加
- 求救,怎样用js对word进行控制比如说在打开word时对宏进行控制
- 请推荐一本学javascript的好书(最好能与asp.net结合的!)
- setHomePage在chrome中无效
- 为什么JS验证不管用??
application("lastquote")=最后一次出价时间剩下的就好办了,用datediff比较application("lastquote")和now().......................
剩下的就好办了,用datediff比较application("lastquote")和now().......................你这个now()是客户端时间呢?还是服务器时间?
function DateDiff(sDate1,sDate2){ //sDate1和sDate2是年-月-日格式
var aDate,oDate1,oDate2,iDays;
aDate=sDate1.split("-");
oDate1=new Date(aDate[1]+'-'+aDate[2]+'-'+aDate[0]);//转换为月-日-年格式
aDate=sDate2.split("-");
oDate2=new Date(aDate[1] + '-'+aDate[2]+'-'+aDate[0]);
iDays=parseInt(Math.abs(oDate1-oDate2)/1000/60/60/24); //把相差的毫秒数转换为天数
alert(iDays);
}
var date,date1,date2;
date=new Date();
date1="2005-9-23";
date2=date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
alert(date2);
DateDiff(date1,date2);
</script>
java的
Date date1 = new Date();
Date date2 = new Date();
System.out.println("create index: " + (date2.getTime() - date1.getTime())+ " total milliseconds");
后台算出系统时间-上次出价时间的毫秒值,返回给前台js,var t = 后台返回的总毫秒值 //js将这个毫秒值赋值给一个变量var tid = setInterval("coundDown(t)",1000); //每隔一秒用倒计时方法fucntion countDown(time){
每次减去1秒钟
var t = 减去一秒钟后的毫秒值
}就是不知道countDown中的代码还怎么写。。
// var now = new Date();
var now = new Date(<%=System.currentTimeMillis()%>); // 获取服务器时间, 因为网络传递,会有偏差// ...
</script>
[email protected]