在js中處理Date時,發現Safari和其餘瀏覽器的支持方式不一致瀏覽器
1.例如:2017-01-01 12:00:00函數
在其餘瀏覽器中,使用這個格式的字符串進行new Date操做沒有問題,可是在Safari中會提示Invalid Date;spa
Safari中不支持'-'格式的日期字符串,將其替換成'/' 變成2017/01/01 12:00:00便可正常使用orm
2.例如:2017/01/01T11:00:00字符串
此格式的日期字符串在Safari中也是不獲得支持的,須要將字符串中的'T' 替換成空格get
變成2017/01/01 11:00:00格式io
下面是我本身寫的格式化日期字符串的函數,雖然並不完善,可是暫時也沒有發現什麼問題function
/*格式化時間字符串*/
/*datetimeString:符合時間格式的時間字符串*/
/*返回格式化以後的時間字符串:YYYY-MM-DD hh:mm:ss*/
formatDatetime = function (datetimeString) {
var datetime;
if (isNaN(Date.parse(datetimeString)))
datetime = new Date(Date.parse(datetimeString.replace(/-/g, '/').replace(/T/g, ' ')));
else
datetime = new Date(Date.parse(datetimeString));form
var year = datetime.getFullYear();/*年*/
var month = datetime.getMonth() + 1;/*月*/
var date = datetime.getDate();/*日*/
var hour = datetime.getHours();/*時*/
var minute = datetime.getMinutes();/*分*/
var second = datetime.getSeconds();/*秒*/date
/*統一月,日,時,分,秒的格式*/
month = month < 10 ? '0' + month : month;
date = date < 10 ? '0' + date : date;
hour = hour < 10 ? '0' + hour : hour;
minute = minute < 10 ? '0' + minute : minute;
second = second < 10 ? '0' + second : second;
return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second; };