我有一个格式应该是的标签:“00:00:00”。
此计时器应通过JavaScript倒计时,当计时器为0时,标签中应该有“已结束”。
那么如何处理较少的性能(例如:我有一个有50个定时器的站点,它们需要同步)。
我的想法是通过子字符串和-1分割它,检查它是否为-01,然后减去之前的数字,并再次将其设置为59.
有更简单的方法吗?
答案 0 :(得分:1)
我会使用datetime,并减少秒数。然后会自动修复分钟,小时,天,月,年。然后只需要一个通用的formatDate函数来接收日期时间并根据它输出你的“xx:xx:xx”或“ends”。
根据今天的日期创建一个新的日期时间对象:
var dt = new Date();
将其设置为特定值(请注意月份是枚举,从0开始):
var dt = new Date(2009, 10, 16, 11, 50, 30); // yyyy, mm, dd, hh, mm, ss
减少一秒钟:
dt.setSeconds(dt.getSeconds()-1);
您的转换器:
function dateToString(dt) {
var h = dt.getHours();
var m = dt.getMinutes();
var s = dt.getSeconds();
// ensure there are always at least two characters
h = ('0' + h).substring(h.toString().length - 2);
m = ('0' + m).substring(m.toString().length - 2);
s = ('0' + s).substring(s.toString().length - 2);
return h + ':' + m + ':' + s;
}
function stringToDate(s) {
var dateParts = s.split(':');
var h = parseInt(dateParts[0], 10);
var m = parseInt(dateParts[1], 10);
var s = parseInt(dateParts[2], 10);
return new Date(2009, 0, 1, h, m, s); // if you're only using time, the date doesn't matter
}