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


当前回答

代码Math.floor(newDate().getTime()/1000)可以缩短为newDate/1E3|0。

考虑跳过直接getTime()调用,并使用|0替换Math.floor()函数。最好记住1E3是1000的缩写(大写E比小写表示1E3为常量)。

因此,您将获得以下结果:

var ts=新日期/1E3 |0;console.log(ts);

其他回答

您只能使用

var timestamp=new Date().getTime();console.log(时间戳);

以获取当前时间戳。不需要做任何额外的事情。

var timestamp = Number(new Date()); // current time as number

对于lodash和下划线用户,请使用_.now。

var timestamp = _.now(); // in milliseconds

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

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

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

var time = Date.now || function() {
  return +new Date;
};

time();