由於new Date(),我給IE跪了

處理日期格式是平常工做中的常事,咱們常常會對日期字符串和日期對象之間進行轉換。今天在IE瀏覽器就踩了這麼一個日期轉換的坑。javascript

new Date()的坑

後端返回的日期字符串格式爲:yyyy-MM-dd HH:mm:ss,看到這個格式,大部分人都會以爲這應該是標準格式吧,我也是這麼認爲的,以爲沒有任何兼容問題。轉換語句以下:java

var str2DateObj = new Date('2019-11-04 10:10:10')
console.log(str2DateObj)
// 輸出:VM796:2 Mon Nov 04 2019 10:10:10 GMT+0800 (中國標準時間)
複製代碼

可是IE就是這麼diao,我就不支持這個格式。小程序

var str2DateObj = new Date('2019-11-04 10:10:10')
console.log(str2DateObj)
[date] Invalid Date[date] Invalid Date
複製代碼

解決方案

自行解析

將獲得的日期字符串進行拆分解析,分別獲得年月日時分秒,而後再new Date後端

// 注意,月是從0開始的
new Date(2019, 10, 4, 10, 10, 10)
複製代碼

藉助外力

正好項目也用了moment這個日期時間庫,那就交給它處理吧。瀏覽器

// no problem
moment('2019-11-04 10:10:10')
複製代碼

掃一掃下方小程序碼或搜索Tusi博客,即刻閱讀最新文章!ui

Tusi博客
相關文章
相關標籤/搜索