我想要一个表示当前日期和时间的数字,比如Unix时间戳。


当前回答

日期,JavaScript中的原生对象是我们获取所有时间数据的方式。

在JavaScript中要小心,时间戳取决于客户端计算机设置,因此它不是100%准确的时间戳。要获得最佳结果,需要从服务器端获取时间戳。

总之,我更喜欢用香草。这是在JavaScript中实现的常见方法:

Date.now(); //return 1495255666921

在MDN中,如下所述:

Date.now()方法返回自1970年1月1日00:00:00 UTC。因为now()是Date的静态方法,所以您总是将其用作Date.now()。

如果您使用的版本低于ES5,Date.now();不起作用,您需要使用:

new Date().getTime();

其他回答

有时我需要在xmlhttp调用的对象中使用它,所以我喜欢这样做。

timestamp : parseInt(new Date().getTime()/1000, 10)

建议的正确方法是Number(new Date()),就代码可读性而言,

此外,UglifyJS和Google闭包编译器将降低已解析代码逻辑树的复杂性(如果您使用其中一个来隐藏/缩小代码)。

对于时间分辨率较低的Unix时间戳,只需将当前数字除以1000,保持整数。

任何不支持Date.now的浏览器,您都可以使用它获取当前日期时间:

currentTime = Date.now() || +new Date()

在JavaScript中获取时间戳

在JavaScript中,时间戳是自1970年1月1日以来经过的毫秒数。如果您不打算支持<IE8,可以使用

new Date().getTime(); + new Date(); and Date.now();

直接获取时间戳,而无需创建新的Date对象。

返回所需的时间戳

new Date("11/01/2018").getTime()

jQuery提供了自己的方法来获取时间戳:

var timestamp = $.now();

(此外,它还实现了(newDate).getTime()表达式)

裁判:http://api.jquery.com/jQuery.now/