【safari挖的那些坑】iOS safari 瀏覽器 時間亂碼(ios時間顯示NaN) 問題解決

一般html

iOS下時間錯誤表現形式html5

 

問題一:android

 這個界面運用了大量的日期類型的計算,當咱們用JavaScript實例化一個日期對象時,咱們能夠這樣用:ios

var date =new Date(); 

 上面這段代碼是獲取當前日期,這段代碼在Firefox、Chrome、Safari瀏覽器中均可以運行。可是若是我想根據字符串獲取日期,問題就來了。看下面代碼。瀏覽器

var date =new Date("2016-05-31 08:00");  

 這段代碼是得到字符中指定的日期,它Firefox、Chrome中就能運行,可是放在Safari就會報錯,錯誤是NaN,意思是Not a Number。就是由於這個錯,蘋果手機不能正常運行我開發的這個界面,當時都快鬱悶死了,我寫了300行js啊,幾乎都與時間有關,不是取值就是賦值,要不就是計算,現在IOS不支持。。。。。。。函數

 

 在網上找了一下,將代碼這樣寫就行了:spa

var date =new Date("2016/05/31 08:00");  

 這樣Android和IOS就能共用了,寫了個函數,替換一下!.net

function GetDateDiff(startDiffTime, endDiffTime) {  
            //將xxxx-xx-xx的時間格式,轉換爲 xxxx/xx/xx的格式   
            startTime = startDiffTime.replace(/\-/g, "/");  
            endTime = endDiffTime.replace(/\-/g, "/");  
};  

 

問題二:code

  HTML5中新增了日曆控件,若是將控件的type=「datetime-local」,若是是Chrome,控件的日期顯示格式是2016/05/30 08:00 ,若是是Safari,日期的顯示格式是:2016-05-31T08:00,當咱們用jQuery取值賦值的時候,就必須用這種方式才能賦值:假如說這個日曆控件的id是timeDate,代碼以下:htm

$("#timeDate').val("2016-05-30T08:30");  

  用$("#timeDate').val("2016/05/30 08:30");就會報錯。但是Chrome的顯示方式就是這樣的啊!!!尼瑪的還有天理嗎?
  這兩個坑確定不光坑過我本身一我的,但願之後注意吧!

 

摘自:http://blog.csdn.net/wangshuai6707/article/details/52026298

相關文章
相關標籤/搜索