Отображение времени в другом часовом поясе с неверным значением, используя момент - PullRequest
0 голосов
/ 12 июня 2018

Я хочу отображать время с 3 разными часовыми поясами.

например.Считая "Америка / Мексика_Город" стандартным.
1. «Америка / Нью-Йорк» на 1 час опережает Мексику_город
2. «Америка / Лос-Анджелес» отстает от Мексики на 2 часа

Но я получаю прямо противоположное о / п-> Нью-Йорк показывает на 1 час позади && Лос-Анджелес на 2 часа вперед.
o / p ->
Mexico_City-> normal -> 11 июня 2018 19:12
New_York->1 час -> 11 июня 2018 г. 18:12
Los_Angeles-> 2 часа -> 11 июня 2018 г. 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');
        }
}

1 Ответ

0 голосов
/ 13 июня 2018
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
...