有時,我最終會在網站前端看到一個已調整為特定時區的日期時間,並且我希望無論用戶的時區如何,都按原樣顯示它。
例如,假設我有這個日期:
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粉5205457532023-10-18 17:34:27
您可以使用utcOffset方法手動設定偏移量。 < /p>
moment().utcOffset(0, true).format()
P粉0667251482023-10-18 11:31:31
使用 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');
使用這兩種方法中的任何一種,您都應該考慮以某種方式標記時間以反映時間對應的時區。如果不這樣做可能會給最終用戶帶來很多困惑。