catspeake
2021-10-14 17:05:34
我目前正在使用 moment.js 并且我面臨將日期格式化為DD MMM的問題,因?yàn)樗o我的時間比原始日期少了一天。我正在使用下一行進(jìn)行轉(zhuǎn)換:moment(date).format('DD MMM')例如,日期是2019-09-12T00:00:00Z,對于這個日期,時刻給了我:11 月那么,為什么是 11 而不是 12?這與小時是 00:00:00Z 的事實(shí)有關(guān)嗎?既然如此,又該如何受到威脅?
1 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個贊
是的,這幾乎可以肯定,因?yàn)樗诟袷交?dāng)前時區(qū)的日期,但原始時間以 UTC 表示 -Z最后的意思是“從 UTC 零時區(qū)偏移”。作為參考,帶有時區(qū)的日期將不會在末尾添加Z類似內(nèi)容-06:00。
我相信您可以通過使用該moment.utc方法來解決您的問題,該方法會導(dǎo)致該日期的打印件以 UTC 而不是您的本地時區(qū)打印。
比較打印日期(包括時區(qū))沒有.utc:(我的時區(qū)是 UTC -6)
console.log(moment('2019-09-12T00:00:00Z').format('DD MMM Z'));
=> 11 Sep -06:00
與.utc:
console.log(moment.utc('2019-09-12T00:00:00Z').format('DD MMM Z'));
=> 12 Sep +00:00
添加回答
舉報(bào)
0/150
提交
取消