Javascript 从时间的字符串表示继续时钟
如果我有以下表示时间的字符串:Javascript 从时间的字符串表示继续时钟,javascript,jquery,Javascript,Jquery,如果我有以下表示时间的字符串: var s = "22:01:15"; 我想随着系统时钟增加时间,但会增加现有的值 无论计算机的实际时钟时间是多少,我如何像一个真正的时钟一样继续这个过程?您可以尝试使用类似a的方法并进行计数 $('#sinceCountdown').countdown({since: CUSTOMTIMEVAR, format: 'HMS', description: 'Custom Time'}); 你可以试着用一种类似于a的方法,然后进行计数 $('#sinc
var s = "22:01:15";
我想随着系统时钟增加时间,但会增加现有的值
无论计算机的实际时钟时间是多少,我如何像一个真正的时钟一样继续这个过程?您可以尝试使用类似a的方法并进行计数
$('#sinceCountdown').countdown({since: CUSTOMTIMEVAR,
format: 'HMS', description: 'Custom Time'});
你可以试着用一种类似于a的方法,然后进行计数
$('#sinceCountdown').countdown({since: CUSTOMTIMEVAR,
format: 'HMS', description: 'Custom Time'});
只需花点时间,将其解析为一个
Date
实例,并确定它与系统日期之间的差异。然后应用该偏移量
var parts = str.split(":");
var dt = new Date();
dt.setHours(parseInt(parts[0], 10));
dt.setMinutes(parseInt(parts[1], 10));
dt.setSeconds(parseInt(parts[2], 10));
var diff = new Date().getTime() - dt.getTime();
var now = new Date(new Date().getTime() - diff);
now
实例显示只需花点时间,将其解析为一个
日期
实例,并确定它与系统日期之间的差异。然后应用该偏移量
var parts = str.split(":");
var dt = new Date();
dt.setHours(parseInt(parts[0], 10));
dt.setMinutes(parseInt(parts[1], 10));
dt.setSeconds(parseInt(parts[2], 10));
var diff = new Date().getTime() - dt.getTime();
var now = new Date(new Date().getTime() - diff);
now
实例显示以下脚本将为您完成此操作: 简而言之,它获取该时间段内某个日期之间的差异,并将其与当前日期进行比较,然后在某个时间间隔内使用该差异来更新当前时间
var t = $('#time').text().split(":");
var d = new Date(2011, 01, 01 , t[0], t[1], t[2],0);
var d1 = new Date();
var diff = d.getTime()-d1.getTime();
window.setInterval(function(){
d1 = new Date();
d1.setTime(d1.getTime()+diff);
$('#time').text(ze(d1.getHours())+":"+ze(d1.getMinutes())+":"+ze(d1.getSeconds()));
},1000);
function ze(num) {
if (num.toString().length<=1){
return "0"+num;
}else{
return num;
}
}
var t=$('#time').text().split(“:”);
var d=新日期(2011年1月1日,t[0],t[1],t[2],0);
var d1=新日期();
var diff=d.getTime()-d1.getTime();
setInterval(函数(){
d1=新日期();
d1.setTime(d1.getTime()+diff);
$('#time').text(ze(d1.getHours())+“:”+ze(d1.getMinutes())+“:”+ze(d1.getSeconds());
},1000);
函数ze(num){
如果(num.toString().length,则以下脚本将为您执行此操作:
简而言之,它获取该时间段内某个日期之间的差异,并将其与当前日期进行比较,然后在某个时间间隔内使用该差异来更新当前时间
var t = $('#time').text().split(":");
var d = new Date(2011, 01, 01 , t[0], t[1], t[2],0);
var d1 = new Date();
var diff = d.getTime()-d1.getTime();
window.setInterval(function(){
d1 = new Date();
d1.setTime(d1.getTime()+diff);
$('#time').text(ze(d1.getHours())+":"+ze(d1.getMinutes())+":"+ze(d1.getSeconds()));
},1000);
function ze(num) {
if (num.toString().length<=1){
return "0"+num;
}else{
return num;
}
}
var t=$('#time').text().split(“:”);
var d=新日期(2011年1月1日,t[0],t[1],t[2],0);
var d1=新日期();
var diff=d.getTime()-d1.getTime();
setInterval(函数(){
d1=新日期();
d1.setTime(d1.getTime()+diff);
$('#time').text(ze(d1.getHours())+“:”+ze(d1.getMinutes())+“:”+ze(d1.getSeconds());
},1000);
函数ze(num){
如果(num.toString().lengthEdited要更容易理解,编辑要更容易理解,请在函数中写入以下代码setTimeout(function(){timeCount()},1000);@iUngi要从超时函数自动更新now
,至少需要2倍的所需观察频率——或500毫秒(这可以通过仔细安排来避免)。我只需要根据需要调用函数来计算now
(记住上面的语句)。@iUngi:没错,但这可以简单地称为setTimeout(timeCount,1000)
对于这类事情,我看到了很多粒度问题,所以我倾向于使用较低的数字。但这就是想法。+1对于实际代码,使用日期作为内部结构,并反转增量计算。从时钟开始时间和时钟开始时的当前时间计算增量(完成一次),而不是从时钟开始的时间和当前时间开始(每次读取时钟时间时都会执行)。有时,我会忽略一些最微小的事情…在函数中写入以下代码setTimeout(function(){timeCount()},1000)@iUngi要从超时函数自动更新now
,至少需要2倍的期望观察频率——或500毫秒(这可以通过仔细安排来避免)。我只需根据需要调用函数来计算now
(记住上面的语句)@iUngi:没错,但那可以是简单的setTimeout(timeCount,1000)
对于这类事情,我看到了很多粒度问题,所以我倾向于使用较低的数字。但这就是想法。+1对于实际代码,使用日期作为内部结构,并反转增量计算。从时钟开始时间和时钟开始时的当前时间计算增量(完成一次),而不是从时钟启动的时间和当前时间开始(每次读取时钟时间时都会执行)。有时,最小的事情我都不知道。。。