Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery将确切日期转换为时间-日期的格式是什么?_Javascript_Jquery_Date - Fatal编程技术网

Javascript 使用jquery将确切日期转换为时间-日期的格式是什么?

Javascript 使用jquery将确切日期转换为时间-日期的格式是什么?,javascript,jquery,date,Javascript,Jquery,Date,我有一个静态页面,将指定一个硬编码的确切日期。如果使用javascript,我想将这个硬编码的确切日期转换为“时间前” 例如: 3 hours ago 我的问题是,javascript能够以什么格式最有效地转换为时间 2013年10月10日 10.10.13 2013年10月10日 101013 最简单的方法是使用Date.getTime() 这将给出自Unix纪元以来的毫秒数,并使数学变得非常简单 我想看看这篇文章: 在其中,他只使用一个javascript Date()作为“timeSi

我有一个静态页面,将指定一个硬编码的确切日期。如果使用javascript,我想将这个硬编码的确切日期转换为“时间前”

例如:

3 hours ago
我的问题是,javascript能够以什么格式最有效地转换为时间

  • 2013年10月10日
  • 10.10.13
  • 2013年10月10日
  • 101013

最简单的方法是使用
Date.getTime()

这将给出自Unix纪元以来的毫秒数,并使数学变得非常简单


我想看看这篇文章:

在其中,他只使用一个javascript Date()作为“timeSince()函数”的参数。要从硬编码字符串创建javascript日期,可以使用以下格式:


var d1=新日期(“1975年10月13日11:13:00”)

毫无疑问,unix时间戳是所有日期和时间计算的最佳格式,您可以稍后将结果转换为更可读的格式

计算很简单,从过去事件的时间戳开始,例如:

var anHourAgo = Date.now() - 3600000;
然后从当前时间戳中减去该时间戳,并获得自该事件发生以来经过的毫秒数

Date.now() - anHourAgo
然后你可以将它传递给任何将毫秒转换为小时、分钟和秒的函数,下面是一个以秒为单位返回一个包含该信息的数组的示例,以及另一个用零填充这些数字的函数

var zeroPad = function(n){
    return n.toString().replace(/^(\d)$/,'0$1');
};

var formatSecs = function(s){
    var r = [
        Math.floor(s / 3600),
        Math.floor(s%3600 / 60),
        Math.floor((s%3600)%60)
    ];
    r.push(zeroPad(r[0])+':'+zeroPad(r[1])+':'+zeroPad(r[2]));
    return r;
};
formatSecs函数需要秒而不是millseconds,您应该除以1000并将该数字四舍五入,然后将该数字传递给函数

Math.round(Date.now() - anHourAgo) / 1000
最后,这里是所有这些代码的工作示例:


我希望这有帮助,干杯

看看它支持的持续时间和人类可读的时间戳。或插件。根据我的问题,我不是在追求代码