最近小編在做一個會議室預定的功能,這個功能就像在買電影票時選擇座位一樣,看看會議室的哪個時間段空閒,有什麼設備等等。由於我做的是APP,APP既要兼容Android,又要兼容IOS,剛開始的開發與調試我都是用谷歌瀏覽器幹的,我沒有用其它瀏覽器進行測試,誰知道最後遺留一個很大的隱患。下面是我的介面。
問題一:
這個介面運用了大量的日期類型的計算,當我們用JavaScript實例化一個日期物件時,我們可以這樣做:
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不支援。 。 。 。 。 。 。
在網路上找了一下,將程式碼這樣寫就好了:
var date =new Date("2016/05/31 08:00");
這樣Android和IOS就能共用了,寫了個函數,替換一下!
function GetDateDiff(startDiffTime, endDiffTime) {
# 問題二:
HTML5新增了日曆控件,如果將控件的type=“datetime-local”,如果是Chrome,控件的日期顯示格式是2016/05/30 08:00 ,如果是Safari,日期的顯示格式是:2016-05-31T08 :00,當我們用JQuery取值賦值的時候,就必須用這種方式才能賦值:假如說這個日曆控制項的id是timeDate,程式碼如下:
$("#timeDate').val("2016-05-30T08:30");
用$("#timeDate') .val("2016/05/30 08:30");就會報錯。
相關文章:
JavaScript的new date等日期函數在safari中遇到的坑
相關影片:
JS內建物件-Date日期物件-JavaScript入門基礎視頻教程
以上是JavaScript中的Date物件在Safari與IOS遇到的相容問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!