有時(shí),我最終會(huì)在網(wǎng)站前端看到一個(gè)已調(diào)整為特定時(shí)區(qū)的日期時(shí)間,並且我希望無(wú)論用戶(hù)的時(shí)區(qū)如何,都按原樣顯示它。
例如,假設(shè)我有這個(gè)日期:
2015-01-22T16:11:36.36-07:00
-07:00 表示現(xiàn)在是山區(qū)時(shí)間,MomentJs 知道這一點(diǎn),並會(huì)自動(dòng)為其他時(shí)區(qū)的使用者進(jìn)行調(diào)整。例如,假設(shè)我用以下程式碼顯示日期時(shí)間:
moment('2015-01-22T16:11:36.36-07:00').format('l LT')
中部時(shí)間 (-06:00) 的使用者將看到時(shí)間為下午 5:11,而不是下午 4:11。我該如何告訴 MomentJs 不調(diào)整使用者的時(shí)區(qū)並按原樣顯示日期時(shí)間?
您可以使用utcOffset方法手動(dòng)設(shè)定偏移量。
moment().utcOffset(0, true).format()
使用 moment 的 utc()
方法刪除時(shí)區(qū)並以世界時(shí)顯示所有內(nèi)容。
moment.utc('2015-01-22T16:11:36.36-07:00').format('l LT')
這將顯示 UTC 時(shí)間,沒(méi)有任何時(shí)區(qū)偏移。如果您想顯示在使用者/伺服器時(shí)區(qū)中記錄的時(shí)間,您可以在建構(gòu) moment 實(shí)例時(shí)解析區(qū)域信息,並讓它使用解析字串中記錄的時(shí)區(qū)。
moment.parseZone('2015-01-22T16:11:36.36-07:00').format('l LT');
使用這兩種方法中的任何一種,您都應(yīng)該考慮以某種方式標(biāo)記時(shí)間以反映時(shí)間對(duì)應(yīng)的時(shí)區(qū)。如果不這樣做可能會(huì)給最終用戶(hù)帶來(lái)很多困惑。