在使用 Moment.js 轉(zhuǎn)換為 UTC 格式的時候,我們可能會遇到 2 個小問題就乓。
如果你使用
('2021-11-01T19:39:00.000').utc().format();
來進行 UTC 時間轉(zhuǎn)換的話,你會發(fā)現(xiàn)你輸入時間和輸出時間是不同的呆瞻。
轉(zhuǎn)換時區(qū)
如果上面所描述的,在結(jié)果中,我們看到如下圖
輸入的時間柴我,我們實際上使用 UTC 的時間,但是在轉(zhuǎn)換成功后扩然,我們會發(fā)現(xiàn) 2 個時間有偏差艘儒。
有這個偏差的原因就是當前你的計算機的時間。
從下圖我們可以看到:
在對象初始化的時候夫偶,是否是 UTC 的時間參數(shù)選項是 false界睁。
因此才會出現(xiàn)偏差。
如果你已知的輸入時間是 UTC 時間的話兵拢,你可以使用下面的代碼:
moment.utc('2021-11-01T19:39:00.000').format();
這樣的方式初始化對象的話翻斟,對象的時間標記將會標記為 UTC 時間。
format 函數(shù)沒有毫秒
聰明的你可能會看到说铃,如果你使用 format() 函數(shù)進行格式化 ISO 時間的話是沒有毫秒的访惜。
如果你希望你的時間對象格式化輸出后有毫秒數(shù)據(jù)。
你應(yīng)該使用的方法是:
toISOString()
考察下面的代碼:
moment.utc('2021-11-01T19:39:00.000').toISOString()
如下圖所示腻扇,下面的代碼格式化輸出后將會有毫秒數(shù)據(jù):
這是在實際使用的時候需要注意一下的地方债热。