关于node.js:javascript获取系统时区的时间戳,而不是UTC

javascript get timestamp in system timezone not in UTC

大家好我正在寻找一种方法来获取时间戳中的当前系统时间。
我用它来获取时间戳:

1
new Date().getTime();

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

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


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

1
npm install -S moment

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

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


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

这是一个没有外部库的库存解决方案,来自类似问题的答案:

the various toLocale…String methods will provide localized output.

1
2
3
4
5
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
  • 您可能想要使用的各种其他日期功能


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

1
npm install moment --save

然后在代码中添加以下行 -

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