解決IE、firefox瀏覽器下JS的new Date()的值為Invalid Date、NaN-NaN的問題

Change就是我發表於2018-12-03

將一組日期字串如:'2018-12-03 12:00:00' 轉換為日期格式時,可以用new Date('2018-12-03 12:00:00'),但是這在IE下是這樣的:

new Date('2018-12-03 12:00:00')    //返回Invalid Date,轉換失敗
複製程式碼

原因:這是因為某些瀏覽器不支援這種字串格式轉換為日期格式

解決辦法:將字串轉換為所有瀏覽器都支援的格式(2018/12/03 12:00:00),如:

var date = '2018-12-03 12:00:00'
new Date(date.replace(new RegExp(/-/gm), '/')) 將所有的'-'轉為'/'即可,輸出:Mon Dec 03 2018 12:00:00 GMT+0800 (中國標準時間)
複製程式碼

以下為所有瀏覽器均支援的轉換方式:

var d = new Date(2011, 01, 07); // yyyy, mm-1, dd  
var d = new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
var d = new Date("02/07/2011"); // "mm/dd/yyyy"  
var d = new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
var d = new Date(1297076700000); // milliseconds  
var d = new Date("Mon Feb 07 2011 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC
--------------------- 
作者:小向光 
來源:CSDN 
原文:https://blog.csdn.net/wuyou1336/article/details/74157447 
版權宣告:本文為博主原創文章,轉載請附上博文連結!
複製程式碼


相關文章