1 function formatTime(mdate, fmt) { 2 if (fmt == undefined) { 3 fmt = 'yyyy-MM-dd hh:mm:ss' 4 } 5 if (mdate == '') { 6 return '' 7 } 8 var date = new Date((mdate+"").replace("T", " ").replace(/-/g,'/')); //這里處理的時候需要注意 蘋果IOS 不支持 2020-12-10 08:12:30 這種形式轉換為Date類型 必須轉換為 2020/12/10 08:12:30 的形式 9 if (/(y+)/.test(fmt)) { 10 fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); 11 } 12 let o = { 13 'M+': date.getMonth() + 1, 14 'd+': date.getDate(), 15 'h+': date.getHours(), 16 'm+': date.getMinutes(), 17 's+': date.getSeconds() 18 }; 19 for (let k in o) { 20 if (new RegExp(`(${k})`).test(fmt)) { 21 let str = o[k] + ''; 22 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length)); 23 } 24 } 25 return fmt; 26 }
1.如果時間中間帶有T 符號,在轉換為時間會多8小時 我們需要首先 將字符串中的T 替換掉
2.蘋果IOS系統不支持 將 2020-12-12 00:00:00 格式的字符串直接轉換為時間 必須使用 2020/12/12 00:00:00 形式的字符串轉換為時間格式
所以使用 上面代碼框中的方法是可以實現 兼容性的方法