计算时间差,页面倒计时,安卓与ios兼容问题
前言
在开发一些有关商品交易类的项目时,多半会遇到活动倒计时之类的需求,最近也是在小程序中遇到,实现方法很多,但是在小程序中遇到ios和安卓的兼容问题,所以记录下来
代码
/** * timestampSwitch - 根据对比传入的两个时间戳,计算出相差的时分秒 * * @param{String}startTimestamp 计算起始时间戳,默认是当前时间 * @param{Number}endTimestamp 计算结束时间(当前接受的是时间字符串,如2018-11-30 23:59:59) * @return{Object} */ const timestampSwitch = (endTimestamp, startTimestamp = (new Date()).valueOf()) => { if (!Number(endTimestamp) || !Number(startTimestamp)) console.error('Incorrect parameter'); // 兼容ios let et = Date.parse(endTimestamp) || Date.parse(endTimestamp.replace(/-/g, '/')); // 计算 let difference = (endTimestamp - startTimestamp), timeDifference = (difference > 0 ? difference : 0) / 1000, days = parseInt(timeDifference / 86400), hours = parseInt((timeDifference % 86400) / 3600), minutes = parseInt((timeDifference % 3600) / 60), seconds = parseInt(timeDifference % 60); return { days, hours, minutes, seconds } };
问题
问题在于后台给我的是时间字符串,我们需要转为时间戳后计算,但是安卓和ios
转换时会有不同如上代码ios
中Date.parse(endTimestamp)
转为时间戳会报错,兼容性方法Date.parse(endTimestamp.replace(/-/g, '/'))
相关推荐
leitingdulante 2020-11-03
huangkun 2020-10-22
leitingdulante 2020-10-21
硬币0 2020-10-15
moses 2020-09-22
ZuoYanDeHuangHun 2020-09-18
chsoft 2020-09-17
fanxiaoxuan 2020-09-17
惠秀宝 2020-09-08
zhousanzhou 2020-08-26
MatrixHero 2020-08-20
xjp 2020-08-17
定格 2020-08-15
Mryiyi 2020-08-07
好好学习天天 2020-07-28
好好学习天天 2020-07-21
Mryiyi 2020-07-08
RocketJ 2020-07-03