處理格式化時間后 時區誤差8小時的問題


 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 形式的字符串轉換為時間格式

所以使用 上面代碼框中的方法是可以實現 兼容性的方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM