js 時間計算(ios和安卓)不相容問題
阿新 • • 發佈:2021-12-02
最近在做一個移動端的專案,需要計算出約定時間和當前時間相差的天數,發現在安卓上沒問題,在ios上計算出的值為NaN?
timeDifference(time) {//傳入約定時間 let new_date = new Date(); //新建一個日期物件,預設現在的時間 let old_date = new Date(time); if (old_date - new_date > 0) { return (old_date - new_date)/(1000*3600*24); } else { return 0; } }, 呼叫timeDifference()方法在ios中值為NAN問題原因:
後臺給出的約定時間是“2021-11-28 23:59:59”格式,而ios獲取的當前時間是“2021/11/3023:59:59”格式,所以約定時間new Date(tiem)在ios中為NaN!
優化後的程式碼:
timeDifference(time) {//傳入約定時間 let new_date = new Date(); //新建一個日期物件,預設現在的時間 let old_date = new Date(time.replace(new RegExp(/-/gm), "/")); //將約定時間轉換為"yyyy-MM-dd HH:mm:ss"格式化日期 if (old_date - new_date > 0) {