背景
最近一個(gè)項(xiàng)目要做一個(gè)倒計(jì)時(shí)功能(如下圖)唆涝,自然首要的是想到用結(jié)束時(shí)間時(shí)間戳 - 當(dāng)前手機(jī)時(shí)間時(shí)間戳
蛉迹,然后由得到的差值計(jì)算還剩 N天N小時(shí)N分N秒
var nowTimestamp = new Date().getTime();
var endTimestamp = new Date("2018-07-26 14:58:32").getTime();
var leftSeconds = endTimestamp - nowTimestamp;
console.log("當(dāng)前時(shí)間時(shí)間戳",nowTimestamp);
console.log("結(jié)束時(shí)間時(shí)間戳",endTimestamp);
console.log("差值",leftSeconds);
問(wèn)題描述 : PC端調(diào)試頁(yè)面兽埃,發(fā)現(xiàn)一切是那么的順利犬绒,計(jì)算出了準(zhǔn)確的時(shí)間戳扔亥。可是(OK苞氮,there is always a but )湾揽;是的當(dāng)我把這個(gè)頁(yè)面,在手機(jī)端查看時(shí)笼吟,發(fā)現(xiàn)安卓正常库物,但是 ios呢卻是NaN
原因
原來(lái)當(dāng)我獲取結(jié)束時(shí)間時(shí)間戳?xí)r,new Date("2018-07-26 14:58:32")赞厕; 返回 Invalid Date
(錯(cuò)誤的時(shí)間格式)艳狐,用錯(cuò)誤的時(shí)間對(duì)象再去獲取時(shí)間戳定硝,自然是 NaN
皿桑, ios 下的 new Date() 只能識(shí)別 2018/07/26 14:58:32
格式的字符串來(lái)生成日期對(duì)象。
解決
既然ios下的new Date() 只能識(shí)別 2018/07/26 14:58:32
格式的蔬啡,那么我們只需要把我們?cè)袷街械?-
替換為 /
即可诲侮,即
var nowTimestamp = new Date().getTime();
var endTimestamp = new Date("2018-07-26 14:58:32".replace(/-/g,"/")).getTime();
var leftSeconds = endTimestamp - nowTimestamp;
console.log("當(dāng)前時(shí)間時(shí)間戳",nowTimestamp);
console.log("結(jié)束時(shí)間時(shí)間戳",endTimestamp);
console.log("差值",leftSeconds);