我正在使用momentjs,但有一个问题试图将UTC时间转换为由名称'America/New_York'
指定的特定时区(不一定是当地用户)。 This SO question是相似的,但没有真正的帮助。MomentJS从UTC转换为所需的时区,而不仅仅是本地
我的思考过程是用服务器收到的日期创建utc moment obj,然后将UTC时间格式化为特定时区以供显示。的如何我目前正在处理这个小片段:
var cutoffString = '20170421 16:30:00'; // in utc
var utcCutoff = moment.tz(cutoffString, 'YYYYMMDD HH:mm:ss', '+00:00');
var displayCutoff =
moment.tz(utcCutoff.format('YYYYMMDD HH:mm:ss'), 'YYYYMMDD HH:mm:ss', 'America/New_York');
console.log('utcCutoff:', utcCutoff.format('YYYYMMDD hh:mm:ssa Z')); // => utcCutoff: 20170421 04:30:00pm +00:00
console.log('displayCutoff:', displayCutoff.format('YYYYMMDD hh:mm:ssa Z')); // => displayCutoff: 20170421 04:30:00pm +00:00
我在这里的假设是,displayCutoff将是“美国/纽约”时间显示utcCutoff时间。但它目前显示的时间与utcCutoff对象相同。我还应该提到,使用.utc()
而不是.tz
并试图在应用.local()
后也无法操作时区。
任何帮助/指导,将不胜感激。
[这里](HTTP://计算器.com/q/43113350/4131048)举例说明如何转换时区之间的时刻,以帮助您。 – VincenzoC