【发布时间】:2014-09-24 03:30:33
【问题描述】:
我必须创建一个拍卖风格的倒数计时器。我在 javascript 代码中预设了结束日期,然后我必须弄清楚如何计算差异。我的代码可以正常工作并且倒计时,但我想看看是否有一种有效的方法来做到这一点。我从书中得到了 Day 计算,但认为没有必要创建一个小时、分钟、秒变量并除以它。
var day = 1000 * 60 * 60 *24;
// Initialize and set variables.
var startDate = new Date();
startDate.toTimeString();
var endDate = new Date('4 Oct 2014 12:30:00 UTC');
endDate.toTimeString();
var startHour = startDate.getHours();
var startMin = startDate.getMinutes();
var startSec = startDate.getSeconds();
var endHour = endDate.getHours();
var endMin = endDate.getMinutes();
var endSec = endDate.getSeconds();
// Make sure the start date comes first:
if (startDate < endDate) {
// Get the interval:
var diffDay = endDate - startDate;
if (diffDay <= day) {
intervalD = '1 day ';
} else {
intervalD = Math.round(diffDay/day) + ' days ';
}
if (endMin >= startMin){ // Make sure its counting down
var diffHour = Math.abs(endHour - startHour);
} else { //Since start hour is greater, we now have to count down from 60.
var diffHour = ((endHour - startHour) + 60);
}
if (endMin >= startMin){
var diffMin = Math.abs(endMin - startMin);
} else {
var diffMin = ((endMin - startMin) + 60);
}
if (endSec >= startSec){
var diffSec = Math.abs(endSec - startSec);
} else {
var diffSec = ((endSec - startSec) + 60);
}
【问题讨论】:
-
如果你想让别人检查你的代码,你应该在Code Review询问
-
非常感谢您的提示!
标签: javascript date time