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