Javascript以小时*分钟*秒* 1000传递时差值

时间:2014-12-21 16:28:02

标签: javascript

我有这个JS脚本:

if ($('.count-down').length !== 0){
    $('.count-down').countdown({
        timestamp : (new Date()).getTime() + 24*60*60*1000
    });
}

它提供+24小时为24 * 60 * 60 * 1000,因此脚本从24:00开始倒计时

我需要给这个脚本我的活动日期作为有价值的格式Y.m.d H:i I.E. 2014.12.31 12:00,它将计算现在之间的时差并将其添加到代码中。

var difference = getTimeDifferenceFromNow('2014.12.31 12:00')
timestamp : (new Date()).getTime() + difference

2 个答案:

答案 0 :(得分:0)

减去两个Date个实例,你将得到毫秒之间的长度。

function getTimeDifferenceFromNow(timeString) {
  return new Date(timeString) - new Date();
}

getTimeDifferenceFromNow('2014.12.31 12:00') // 818501769, roughly 9 days and half in the future.

这怎么可行?当您减去两个Date个实例时,会在内部调用它们的valueOf()方法,这会将它们转换为时间戳。那么你实际上是在扣除两个时间戳,最后得到一些毫秒。


修改

然而,我想知道你为什么这样做?如果你想要给定日期/时间的时间戳,为什么不直接实例化它并抓住它的时间戳呢?

new Date('2014.12.31 12:00').getTime() // 1419998400000

答案 1 :(得分:0)

这是最终解决方案:

    var eventdate  = new Date("January 1, 2015 1:00:00").getTime();
if ($('.count-down').length !== 0){
    $('.count-down').countdown({
            timestamp :  eventdate
    });
}