解决小程序在 IOS机上无法兼容横杠‘-’问题,
原因:IOS无法识别日期中的横杠’-'和‘ ’

// 接口获取的日期
let oldTime = "2021-12-30 22:22:30";
//转换成符合IOS展示的日期
let newTime = oldTime.replace(/\-/g,'/');
console.log(newTime);//"2021/12/30 22:22:30"
  1. 若需要将以上格式的时间转为毫秒数
let  hmTime = new Date(newTime);
let  resultTime = hmTime.getTime();
console.log(resultTime);//输出对应毫秒数
  1. 若需要将毫秒数时间转为天-时-分-秒,然后在需要的地方调用setOverTime(resultTime);
// 时间倒计时
setOverTime(overTime){
	setInterval(() => {
		let isOverTime = this.getOverTime(overTime);
		this.countdown=isOverTime;//这个countdown就是得到的“天时分秒”结果
	},1000)
},
// 格式化倒计时
getOverTime(timeString){
	// 到期日期的时间戳
	let timeString1 = Date.parse(timeString);
	// 现在的时间戳 
	let timeStringts2 = Date.parse( new Date() );
	// 时间戳间隔
	let interval = timeString1 - timeString2;
	// 将时间段转换为天时分秒
	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;
},
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐