我使用的時刻,那一刻,時區,以輸出給定的電視節目的廣播時間日期/時間(任何時區)矩時區不更改日期/時間設置指定的區域
主機時區是美國/芝加哥
在下面的例子中,dateTime
通過是一個電視節目,在3小時內播出。這是週日週一在美國/芝加哥9:00 PM,並在4:00 AM在歐洲/薩格勒布:
determineAirTime(dateTime) {
console.log(dateTime); // July 16th 2017 9:00PM
dateTime =
momentTimezone.tz(dateTime, "MMM Do YYYY hA", momentTimezone.tz.guess());
dateTime = dateTime.format(); // this creates: 2017-07-16T21:00:00-05:00
// moment
moment(dateTime).calendar(); // Today at 9:00 PM
}
對於我的時區(美國/芝加哥),Today at 9:00 PM
是正確的。但是,它始終爲任何時區輸出Sunday 9:00 pm
,這是不正確的。
這是我們在我們的例子中使用的相同數據的例子,但有不同的時區:
以上部分的正確的輸出是Monday at 4:00 AM
。
如何修復我的程序,以便打印出時區的正確空氣/日期時間?
發佈文本比圖片更好。鑑於薩格勒布是UTC + 01:00,2017-07-23T21:00:00 + 02:00是2017-07-23T20:00:00 + 01:00。你爲什麼認爲時間應該是04:00?美國/芝加哥是UTC-06:00,所以這將是2017-07-23T13:00:00-06:00或1pm。 – RobG
它在薩格勒布的凌晨1點23分,我例子的通話時間是從現在開始的3小時,所以輸出結果應該是星期一凌晨4點。或者接近 – Edon
也許你應該指定一些精確的輸入,輸出和偏移量。你的問題不清楚。 – RobG