假设我得到值'2014-03-03 16:20:20'
作为输入,我想转换它
到了它的实时时区(即节点位于欧洲,但时间戳是在美国收集的),之后我想得到真实值的UTC表示。
知道什么包可以提供帮助吗?尝试了没有运气的时刻。
答案 0 :(得分:2)
终于找到了momentjs-timezone
,
这有点好笑,因为你不会在事件http://momentjs.com/timezone/上发现事件,但你可以在http://github.com/moment/moment-timezone上找到它
无论如何,这是你如何做到的:
var tz0 = moment.tz("2014-03-03 16:20:20", "Asia/Jerusalem")
var tz1 = moment.utc(tz0);
console.log(tz0.format('YYYY-MM-DD hh:mm:ss'));
console.log(tz1.format('YYYY-MM-DD hh:mm:ss'));
和你可以看到的输出
2014-03-03 04:20:20
2014-03-03 02:20:20
答案 1 :(得分:0)
// moment.js
var utc = moment('2014-03-03 16:20:20','YYYY-MM-DD HH:mm:ss', 'us');
// or timezone string pass from client
var eu = utc.zone("+02:00");
var eu = utc.zone("-02:00");
答案 2 :(得分:0)
希望有所帮助, 罗恩
答案 3 :(得分:0)
Timezone是一个优雅的模块。
var tz = require("timezone/loaded");
var formattedDate = tz(unformattedTimestamp, '%d %B %Y, %-I:%M %p', "Europe/Amsterdam");
您可以使用bootstraphelper来捕获用户的时区。