搜尋

首頁  >  問答  >  主體

使用 MomentJs 顯示日期時間而不改變時區

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

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

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粉952365143P粉952365143434 天前662

全部回覆(2)我來回復

  • P粉520545753

    P粉5205457532023-10-18 17:34:27

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

    moment().utcOffset(0, true).format()

    回覆
    0
  • P粉066725148

    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');

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

    回覆
    0
  • 取消回覆