1、兼容问题:IOS手机不支持“2021-12-30 22:22:30”里面带横杠“-”的时间格式,它只支持“2021/12/30 22:22:30”带斜杠“/”的时间格式,安卓手机则两种时间格式都兼容
2、解决方法:将横杠“-”替换成“/”即可,
var oldTime = "2021-12-30 22:22:30"; var newTime = oldTime.replace(/-/g,'/'); console.log(newTime);//"2021/12/30 22:22:30"
3、拓展
① 若需要将以上格式的时间转为毫秒数,则
var hmTime = new Date(newTime); var resultTime = hmTime.getTime(); console.log(resultTime);//输出对应毫秒数
② 若需要将毫秒数时间转为天-时-分-秒
// 时间倒计时 setOverTime(overTime){ setInterval(() => { let isOverTime = this.getOverTime(overTime); this.countdown=isOverTime;//这个countdown就是得到的“天时分秒”结果 },1000) }, // 格式化倒计时 getOverTime(timeString){ // 到期日期的时间戳 let ts1 = Date.parse(timeString); // 现在的时间戳 let ts2 = Date.parse( new Date() ); // 时间戳间隔 let interval = ts1 - ts2; // 将时间段转换为天时分秒 let obtain = this.fortime(interval) return obtain }, // 将时间戳转换为天时分秒 fortime(sj) { var days = parseInt((sj % (1000 * 60 * 60 * 24 * 365)) / (1000 * 60 * 60 * 24)); var hours = parseInt((sj % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = parseInt((sj % (1000 * 60 * 60)) / (1000 * 60)); var seconds = (sj % (1000 * 60)) / 1000; days = days < 10 ? ('0' + days) : days; hours = hours < 10 ? ('0' + hours) : hours; minutes = minutes < 10 ? ('0' + minutes) : minutes; seconds = seconds < 10 && seconds >= 1 ? ('0' + seconds) : seconds; return days + "天" + hours + ":" + minutes + ":" + seconds; },
然后在需要的地方调用setOverTime(resultTime);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)