首頁 > php教程 > PHP开发 > 主體

JS IOS/iPhone的Safari瀏覽器不相容Javascript中的Date()問題如何解決

高洛峰
發布: 2016-12-07 10:26:43
原創
1650 人瀏覽過

var date = new Date('2016-12-6 11:11:11');
document.write(date);
登入後複製

   最近在寫一個時間判斷腳本,需要將固定好的字符串時間轉換為時間戳進行比較,在做的時候個人習慣使用chrome作為調試工具,代碼基本完成之後,一切正常;

使用其他瀏覽器訪問,好嘛,IE跟safari都不相容,返回錯誤"Invalid Date"。

想著估計是字符串格式的問題,改成'2016/11/11 11:11:11'再測試,結果正常,以為這樣應該沒問題了,再用手機瀏覽器繼續訪問,android正常, iPhone繼續報錯,

再改"Nov 11 2016 11:11:11",照樣報錯,怎麼改都不行

絞盡腦汁,最後還是在論壇上看到了這樣一種解決方案:

var arr = "2016/11/11 11:11:11".split(/[- : \/]/),
date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
document.write(date);
登入後複製

 

 

終於可以相容於所有瀏覽器咯,結論:

iPhone中的safari無法解釋YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss這樣的時間格式,而谷歌火狐等瀏覽器對這樣的格式做了擴展,

iPhone中的safari所支援的格式為YYYY,MM, DD,HH,mm,ss,這個問題糾結我大半天,真的很想把蘋果的程式設計師拉出去槍斃10分鐘,太TM特立獨行了。氣人

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板