2017-09-15 19 views
0

當前我正在使用矩陣格式化日期。它當前的BST本地UTC時差是+ 1小時。MomentJS - 解析utc字符串,其BST在本地

moment('2017-09-15T13:01:35+0100').format('YYYY-MM-DD HH:mm'); 
// "2017-09-15 13:01" 

我不明白的是偏移量+0100所以不應該這意味着它的UTC加上一個小時(BST),所以當它的本地格式應該是2017年9月15日14: 01?

+0

好的,只是通過時刻的文件來看看,它似乎時間包括偏移量。所以 moment().format(); // 2013-02-04T10:35:24-08:00 moment.utc().format(); // 2013-02-04T18:35:24 + 00:00 所以要得到UTC我需要減去顯示時間的偏移量。這是有道理的! – Matt

回答

2

您的輸入字符串是2017-09-15T13:01:35+0100。這是ISO-8601格式。

在這種格式中,偏移量描述了給定的時間如何偏離UTC。換句話說,讀取這個爲"At 13:01:35 local time on September 15th 2017, the local time was 1 hour ahead of UTC."

因此,要導出UTC時間,減去的偏移量。 UTC時間爲2017-09-15T12:01:35Z

而且,我會鼓勵你使用完全「擴展格式」,它在偏移(2017-09-15T13:01:35+01:00)一:,或使用「基本格式」,這消除了所有:-字符(20170915T130135+0100 )。否則,您將混合兩種形式,這是不符合規定的,並且可能不會被所有解析器理解。