1. 程式人生 > 其它 >js 時間計算(ios和安卓)不相容問題

js 時間計算(ios和安卓)不相容問題

最近在做一個移動端的專案,需要計算出約定時間和當前時間相差的天數,發現在安卓上沒問題,在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) {
    return (old_date - new_date)/(1000*3600*24);   } else {     return 0;   }   },