javascript在系统时区中获取时间戳而不是UTC

时间:2013-05-06 06:42:07

标签: javascript node.js time

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

new Date().getTime();

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

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

3 个答案:

答案 0 :(得分:19)

查看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)

答案 1 :(得分:7)

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

这是一个没有外部库的库存解决方案,来自a similar question的回答:

  

各种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

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

答案 2 :(得分:6)

使用以下方式安装模块'时刻':

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);