IOS:Safari不兼容Javascript中的Date問題


   在IOS5以上版本(不包含IOS5)中的Safari瀏覽器能正確解釋出Javascript中的 new Date('2013-10-21') 的日期對象。
     但是在IOS5版本里面的Safari解釋new Date('2013-10-21') 就不正確,在IOS5的Safari中返回的永遠是"Invalid Date"。
     后來我在網上查找了資料,原來是低版本的Safari解釋new Date('2013-10-21')這個對象不一樣,在IOS5中的Safari不支持這種寫法,
     而它支持的寫法為new Date('2013','10','21'),這樣寫就能解決"Invalid Date"的問題,能返回一個Javascript Date回來了。
     但是隨之而來的問題有出現了,Date是返回過來了,可是這個Date對象中方法返回的數據可不是我想要的,返回的數據全都不正確。具體是什么原因我也不太清楚,還請知道原理的大蝦們指點下!
     現在返回過來的Date對象.getMonth()總要比正常的要多一個月!還有.getDay()返回的星期幾也不正確!╮(╯▽╰)╭懊惱啊,折磨啊。。。。
     我都開始罵開發Safari的這幫人了,不過罵歸罵問題還是要解決的,要不工資就木有了!呵呵!
     接着我查了很多國外的技術blog,終於找到了解決方案,原來想要IOS5中的Safari能正確解析new Date()那么必須這么寫
     new Date('2013/10/21');   或者  

var d = new Date(date);
d = d.getFullYear() > 0 ? d : new Date(Date.parse(date.replace(/-/g, "/")));

     艹它姥姥的,就TM這個樣兒折騰了我大半天!主要是DB那邊返回的日期格式是2013-10-21這樣的。導致了在低端版本的Safari中不能正確解釋它!


免責聲明!

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



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