【问题标题】:Display time with different timezone giving wrong value using moment使用时刻显示不同时区的时间给出错误的值
【发布时间】:2018-06-12 17:04:15
【问题描述】:

我想用 3 个不同的时区显示时间。

例如。以“America/Mexico_City”为标准。
1. “America/New_York”比 Mexico_City 早 1 小时
2. "America/Los_Angeles" 比 Mexico_City 晚 2 小时

但我的结果正好相反 -> 纽约显示落后 1 小时 && 洛杉矶领先 2 小时。
o/p ->
Mexico_City-> 正常 ->2018 年 6 月 11 日晚上 19​​:12
New_York-> 1 小时 ->2018 年 6 月 11 日晚上 18:12
洛杉矶-> 2 小时 ->2018 年 6 月 11 日晚上 21:12

var date = "2018-06-11T14:12:43";
var LastModifiedDate = {
        date: date,
        tzId: "America/Mexico_City",
        tzCode: "PDT" 
}
       console.log("Mexico_City-> normal ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));

        LastModifiedDate = {
             date: date,
             tzId: "America/New_York",
             tzCode: "PDT"
         }
        console.log("New_York-> 1 hr ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));
        LastModifiedDate = {
            date: date,
            tzId: "America/Los_Angeles",
            tzCode: "PDT"
        }
        console.log("Los_Angeles-> 2hr ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));


class Utils {

        convertPlatformDateToMillis(pltDateObject) {
           return momentTimeZone.tz(pltDateObject.date, pltDateObject.tzId);
        }

        formatDate(dateInMillis) {
           return moment(new Date(dateInMillis)).format('MMM DD, YYYY HH:mm A');
        }
}

【问题讨论】:

    标签: momentjs moment-timezone


    【解决方案1】:
    var newYork = momentTimeZone.tz(moment(), "America/New_York");// Jun 12, 2018 10:00 AM
    var losAngeles = newYork.clone().tz("America/Los_Angeles"); //Jun 12, 2018 07:00 AM
    var mexico = newYork.clone().tz("America/Mexico_City"); // Jun 12, 2018 09:00 AM
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-05
      • 2016-04-30
      • 2010-11-26
      • 2019-05-09
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      相关资源
      最近更新 更多