Dayjs升1.9到1.10+的parse問題(已獲得臨時解法)

最近在做RN升版時發現Dayjs升到1.10.7有parse時間字串的問題,跟1.9版結果不同。所以我只能升級到1.9的最新版。

前文

以這個程式碼來說

const dayjs = require('dayjs');
console.log(`result:${dayjs('2020-12-20T15:00:00+08').format()}`);


在1.9版時,我們可以正常得到

result:2020-12-20T15:00:00+08:00


但是在1.10版時,我們得到

result:Invalid Date


不過'2020-12-20T15:00:00+0800'和'2020-12-20T15:00:00+08:00'都正常。今天已先開issue,再看作者是否會修這個問題。


2022-06-07 社群有人回我建議改成用format參數並引入customParseFormat,測試結果成功

// https://day.js.org/docs/en/plugin/custom-parse-format
var customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat)

const format = 'YYYY-MM-DD[T]HH:mm:ssZ'
console.log(`result:${dayjs('2020-12-20T15:00:00+0800', format).format()}`);
console.log(`result:${dayjs('2020-12-20T15:00:00+08', format).format()}`);


留言