JavaScript获取系统时区中的时间戳不是UTC

嗨,所有即时通讯寻找一种方法来获得当前系统时间在一个时间戳。 我用这个来获得时间戳:

new Date().getTime(); 

但它返回UTC时区的时间而不是服务器使用的时区

有没有办法获得系统时区的时间戳?

看看moment.js http://momentjs.com/

 npm install -S moment 

新时刻对象将默认具有系统时区偏移量。

 var now = moment() var formatted = now.format('YYYY-MM-DD HH:mm:ss Z') console.log(formatted) 

由于getTime返回从EPOCH开始的无格式时间(以毫秒为单位),因此不应将其转换为时区。 假设你正在寻找格式化的输出,

这里是一个没有外部库的库存解决scheme,从一个类似的问题的答案:

各种toLocale…String方法将提供本地化的输出。

 d = new Date(); alert(d); // -> Sat Feb 28 2004 23:45:26 GMT-0300 (BRT) alert(d.toLocaleString()); // -> Sat Feb 28 23:45:26 2004 alert(d.toLocaleDateString()); // -> 02/28/2004 alert(d.toLocaleTimeString()); // -> 23:45:26 

如果需要,可以提供额外的格式化选项。

  • 的toLocaleString
  • 各种其他datefunction,你可能想使用

使用以下命令安装模块“时刻”:

 npm install moment --save 

然后在代码中添加以下几行 –

 var moment = require('moment'); var time = moment(); var time_format = time.format('YYYY-MM-DD HH:mm:ss Z'); console.log(time_format);