使用 MomentJs 顯示日期時間而不改變時區
P粉952365143
P粉952365143 2023-10-17 22:58:38
0
2
554

有時,我最終會在網站前端看到一個已調整為特定時區的日期時間,並且我希望無論用戶的時區如何,都按原樣顯示它。

例如,假設我有這個日期:

2015-01-22T16:11:36.36-07:00

-07:00 表示現在是山區時間,MomentJs 知道這一點,並會自動為其他時區的使用者進行調整。例如,假設我用以下程式碼顯示日期時間:

moment('2015-01-22T16:11:36.36-07:00').format('l LT')

中部時間 (-06:00) 的使用者將看到時間為下午 5:11,而不是下午 4:11。我該如何告訴 MomentJs 不調整使用者的時區並按原樣顯示日期時間?

P粉952365143
P粉952365143

全部回覆(2)
P粉520545753

您可以使用utcOffset方法手動設定偏移量。

moment().utcOffset(0, true).format()
P粉066725148

使用 moment 的 utc() 方法刪除時區並以世界時顯示所有內容。

moment.utc('2015-01-22T16:11:36.36-07:00').format('l LT')

這將顯示 UTC 時間,沒有任何時區偏移。如果您想顯示在使用者/伺服器時區中記錄的時間,您可以在建構 moment 實例時解析區域信息,並讓它使用解析字串中記錄的時區。

moment.parseZone('2015-01-22T16:11:36.36-07:00').format('l LT');

使用這兩種方法中的任何一種,您都應該考慮以某種方式標記時間以反映時間對應的時區。如果不這樣做可能會給最終用戶帶來很多困惑。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!