問(wèn)題
我們?cè)僮鲆苿?dòng)端頁(yè)面時(shí)經(jīng)常會(huì)遇到需要格式化時(shí)間的問(wèn)題,但是有時(shí)安卓端和iOS對(duì)時(shí)間的表現(xiàn)卻不一樣译仗,在iOS端有時(shí)會(huì)出現(xiàn)NaN的現(xiàn)象拼弃,而安卓端卻沒(méi)有問(wèn)題。
表現(xiàn)
我們先寫(xiě)一個(gè)格式化代碼的方法:
//格式化時(shí)間
var formattingDate = function(timedata) {
var date = new Date(timedata);
var Year = date.getFullYear();
var Month = date.getMonth() + 1 < 10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
var d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var Hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var Minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var Seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return (Year + "-" + Month + "-" + d + " " + Hours + ":" + Minutes + ":" + Seconds);
}
然后我們分別在chrome
和Safari
中運(yùn)行抹沪,傳入相同的入?yún)⒖桃蓿^察返回值:
chrome.png
Safari.png
由上圖可見(jiàn)當(dāng)我們的格式化方法的入?yún)⑹鞘褂?code>-來(lái)鏈接時(shí),就有可能會(huì)出現(xiàn)兩端表現(xiàn)不一致的現(xiàn)象融欧。
解決方法
我們可以使用正則表達(dá)式將入?yún)⒌倪B接方式替換/
,來(lái)對(duì)我們的格式化方法進(jìn)行強(qiáng)化:
//格式化時(shí)間
var formattingDate = function(timedata) {
var date = new Date(timedata.replace(/-/g, '/'));
var Year = date.getFullYear();
var Month = date.getMonth() + 1 < 10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
var d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var Hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var Minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
var Seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return (Year + "-" + Month + "-" + d + " " + Hours + ":" + Minutes + ":" + Seconds);
}
這樣敏弃,我們的方法就不會(huì)出現(xiàn)兩端格式化不一致的情況了。
歡迎大家關(guān)注噪馏、分享麦到、點(diǎn)贊哦!