假设我将值'2014-03-03 16:20:20'
作为输入,我想转换它到了时区的实时时间(即节点位于欧洲,但时间戳是在美国收集的),然后我想获得真正价值的UTC代表。
知道哪些软件包可以提供帮助?尝试的瞬间。
终于找到了momentjs-timezone
,
这有点有趣,因为您不会在Mainsite上获得一个暗示http://momentjs.com/timezone/,但您可以在http://github.com/moment/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
// 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");
Momentjs可能会为您提供帮助。喜欢以下内容:
- 您可以使用ISO日期加上时区信息的输入格式化,例如2014-03-03T16:20:20-05:00(假设您是从GMT-5 TimeZone的当地时间获得的)
- 然后致电: MOMM.PARSEZONE('2014-03-03t16:20:20-05:00')。区域(1).format(Format()在GMT 1个时区)
希望有帮助,罗恩
时区是一个优雅的模块。
var tz = require("timezone/loaded");
var formattedDate = tz(unformattedTimestamp, '%d %B %Y, %-I:%M %p', "Europe/Amsterdam");
您可以使用Bootstraphelper捕获用户的时区。