12 个解决方案
#1
#2
客户端在任何时候都可以去服务器获得与服务器的时间精确差(例如可以使用“简化的ntp算法”),然后客户端的目标时间就应该修正。例如客户端比服务器时间慢2分钟20秒,那么客户端的结束时间就应该比预计的结束时间提前2分20秒。
#3
服务器设置一个定时器,客户端都去读这个时间
#4
#5
所谓"倒计时",绝逼不是用个timer每秒减去1
而是你已经知道了结束时间,那么用当前时间减去结束时间就是剩余时间了,这是最准确的,不会出现任何误差的方法
你纠结的不过是客户机时间和服务器时间不同步而已,获取一下服务器时间,然后计算和客户机时间的时间差不就得了
而是你已经知道了结束时间,那么用当前时间减去结束时间就是剩余时间了,这是最准确的,不会出现任何误差的方法
你纠结的不过是客户机时间和服务器时间不同步而已,获取一下服务器时间,然后计算和客户机时间的时间差不就得了
#6
嗯,这个思路我想到了,获取服务器时间和获取客户端时间可以做到,后面的步骤不知道该怎么做,服务器时间我用的SQL语句,客户端的时间用的是getdate(),计算时间差,后面的内容不知道该如何做
#7
从你的回答可以感觉到你是个高手,我用的方法去试试看、
#8
计算时间差要怎么做呢?,客户端时间 var t= new date() 服务器的时间 datetime noww= SQL语句
#9
getdate()这本身不就是SQL语句吗...
客户端时间不是应该用DateTime.Now吗
客户端时间不是应该用DateTime.Now吗
#10
哦,你的是JS,当我没说
#11
getdate()这本身不就是SQL语句吗...
客户端时间不是应该用DateTime.Now吗
服务器时间差和客户端的差值为 ttime,在前台一个
<div id="someTimer1" class="someTimer" data-date="2015-02-08 08:00:00 + <%=ttime%>" ,这里要如何表示才能正确呢?
#12
:JS实现倒计时示例
//js设置倒计时
<script type="text/javascript">
var msec=0
var sec=0
var min=0
function Time()
{
document.forms[0].time.value=min+":"+sec
go=setTimeout("Time()",1)
msec++
if(msec==1500)
{
msec=0
sec++
}
if(sec==59)
{
if(min<20)
{
sec=0
min++
}
}
}
</script>
//cs页面实现刷新窗口
public static void RefreshOpener()
{
string js = @"<Script language='JavaScript'>
opener.location.relocad();
</Script>";
HttpContext.Curent.Response.Write(js);
}
//js设置倒计时
<script type="text/javascript">
var msec=0
var sec=0
var min=0
function Time()
{
document.forms[0].time.value=min+":"+sec
go=setTimeout("Time()",1)
msec++
if(msec==1500)
{
msec=0
sec++
}
if(sec==59)
{
if(min<20)
{
sec=0
min++
}
}
}
</script>
//cs页面实现刷新窗口
public static void RefreshOpener()
{
string js = @"<Script language='JavaScript'>
opener.location.relocad();
</Script>";
HttpContext.Curent.Response.Write(js);
}
#1
#2
客户端在任何时候都可以去服务器获得与服务器的时间精确差(例如可以使用“简化的ntp算法”),然后客户端的目标时间就应该修正。例如客户端比服务器时间慢2分钟20秒,那么客户端的结束时间就应该比预计的结束时间提前2分20秒。
#3
服务器设置一个定时器,客户端都去读这个时间
#4
#5
所谓"倒计时",绝逼不是用个timer每秒减去1
而是你已经知道了结束时间,那么用当前时间减去结束时间就是剩余时间了,这是最准确的,不会出现任何误差的方法
你纠结的不过是客户机时间和服务器时间不同步而已,获取一下服务器时间,然后计算和客户机时间的时间差不就得了
而是你已经知道了结束时间,那么用当前时间减去结束时间就是剩余时间了,这是最准确的,不会出现任何误差的方法
你纠结的不过是客户机时间和服务器时间不同步而已,获取一下服务器时间,然后计算和客户机时间的时间差不就得了
#6
所谓"倒计时",绝逼不是用个timer每秒减去1
而是你已经知道了结束时间,那么用当前时间减去结束时间就是剩余时间了,这是最准确的,不会出现任何误差的方法
你纠结的不过是客户机时间和服务器时间不同步而已,获取一下服务器时间,然后计算和客户机时间的时间差不就得了
嗯,这个思路我想到了,获取服务器时间和获取客户端时间可以做到,后面的步骤不知道该怎么做,服务器时间我用的SQL语句,客户端的时间用的是getdate(),计算时间差,后面的内容不知道该如何做
#7
客户端在任何时候都可以去服务器获得与服务器的时间精确差(例如可以使用“简化的ntp算法”),然后客户端的目标时间就应该修正。例如客户端比服务器时间慢2分钟20秒,那么客户端的结束时间就应该比预计的结束时间提前2分20秒。
从你的回答可以感觉到你是个高手,我用的方法去试试看、
#8
客户端在任何时候都可以去服务器获得与服务器的时间精确差(例如可以使用“简化的ntp算法”),然后客户端的目标时间就应该修正。例如客户端比服务器时间慢2分钟20秒,那么客户端的结束时间就应该比预计的结束时间提前2分20秒。
从你的回答可以感觉到你是个高手,我用的方法去试试看、
计算时间差要怎么做呢?,客户端时间 var t= new date() 服务器的时间 datetime noww= SQL语句
#9
getdate()这本身不就是SQL语句吗...
客户端时间不是应该用DateTime.Now吗
客户端时间不是应该用DateTime.Now吗
#10
哦,你的是JS,当我没说
#11
getdate()这本身不就是SQL语句吗...
客户端时间不是应该用DateTime.Now吗
服务器时间差和客户端的差值为 ttime,在前台一个
<div id="someTimer1" class="someTimer" data-date="2015-02-08 08:00:00 + <%=ttime%>" ,这里要如何表示才能正确呢?
#12
:JS实现倒计时示例
//js设置倒计时
<script type="text/javascript">
var msec=0
var sec=0
var min=0
function Time()
{
document.forms[0].time.value=min+":"+sec
go=setTimeout("Time()",1)
msec++
if(msec==1500)
{
msec=0
sec++
}
if(sec==59)
{
if(min<20)
{
sec=0
min++
}
}
}
</script>
//cs页面实现刷新窗口
public static void RefreshOpener()
{
string js = @"<Script language='JavaScript'>
opener.location.relocad();
</Script>";
HttpContext.Curent.Response.Write(js);
}
//js设置倒计时
<script type="text/javascript">
var msec=0
var sec=0
var min=0
function Time()
{
document.forms[0].time.value=min+":"+sec
go=setTimeout("Time()",1)
msec++
if(msec==1500)
{
msec=0
sec++
}
if(sec==59)
{
if(min<20)
{
sec=0
min++
}
}
}
</script>
//cs页面实现刷新窗口
public static void RefreshOpener()
{
string js = @"<Script language='JavaScript'>
opener.location.relocad();
</Script>";
HttpContext.Curent.Response.Write(js);
}