H5 iOS瀏覽器Safari/IE瀏覽器不認識日期格式"-"與“T“,“2019-11-22T:10:00:00”這個格式需要轉換處理

最近做一個h5時間段展示界面,需要將日期格式轉爲毫秒進行處理,本人用的Android手機與google瀏覽器調試,一切顯示正常,但是當同事用蘋果手機測試的時候發現顯示不出來,於是調試了一下發現所有日期轉出來的毫秒值都是0.問了萬能的度娘後發現已經有同僚遇到過此類問題了

就是Safari不認識“2019-11-22”這個格式,認識“2019/11/22”這種日期格式(同事說IE瀏覽器也是這樣),於是我也將我的日期格式(“2019-11-22”)轉了一下,

但是發現還不行,因爲我們後臺返回的時間格式是“2019-11-22T10:00:00”,我想會不會是“T”也不認識,於是嘗試將“T”替換成空格,保存,測試,一切正常了。

在此記錄一下,希望有遇到類似情況的同僚能更快的處理同類問題。時間轉毫秒值修改後方法如下:

/**將日期字符串轉爲毫秒值
	 * @param {Object} dateStr 
	 */
	this.getTimeByDateStr=function(dateStr){
		var t=0;
		try{
			//將日期2019-11-22T10:00:00格式轉爲2019/11/22 10:00:00
		var dstr=dateStr.toString().replace(/-/g,'/').replace(/T/gi," ");
			t=new Date(dstr).getTime();
		}catch(e){
			//TODO handle the exception
		}
		
		return t;
	}

順便提一下:.replace(/-/g,'/').replace(/T/gi," "),這裏的:

1.replace(/-/g,'/'),/-/g是正則表達式,兩個/中間的‘-’是要替換的內容,g是替換數據中所有的‘-’,global的意思;

2.replace(/T/gi," "),表示將數據中所有T替換爲空格,i是不區分大小寫,ignore的意思;

3.正則表達式標誌,如g,i,m等可以單獨使用,也可以組合使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章