Safari中的Date

在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; };

相關文章
相關標籤/搜索