uniapp ios手机端获取时间戳出现NAN

问题出现在本人开发uniapp H5页面时有需要一个本日剩余时间倒计时的功能,方法如下:

        onLoad(option) {
			clearInterval(this.countdownTimer); //进来前先清除一遍定时器
			this.setTimer();
        },
        destroyed: function() {
			// 每次离开当前界面时,清除定时器
			clearInterval(this.countdownTimer)
			this.countdownTimer = null;
		},
        methods:{
             	setTimer() {
				if (this.countdownTimer == null) {
					this.countdownTimer = setInterval(() => {
						this.countdown();
					}, 1000)
				}
			},
			countdown() {
				let date = new Date();
				const yearNow = date.getFullYear();
				const monthNow = Number(date.getMonth()) + 1;
				const dayNow = date.getDate();
				let end = yearNow + "-" + monthNow + "-" + dayNow + " " + "23:59:59";
				end = new Date((end)).getTime();
				let start = new Date().getTime();
				let surplus = (end - start).toFixed(0); //剩余毫秒数

				let hours = parseInt(surplus / 1000 / 60 / 60 % 24, 10); //计算剩余的小时
				let minutes = parseInt(surplus / 1000 / 60 % 60, 10); //计算剩余的分钟
				let seconds = parseInt(surplus / 1000 % 60, 10); //计算剩余的秒数
				String(hours).length == 1 ? this.hours = "0" + String(hours) : this.hours = String(hours);
				String(minutes).length == 1 ? this.minutes = "0" + String(minutes) : this.minutes = String(minutes);
				String(seconds).length == 1 ? this.seconds = "0" + String(seconds) : this.seconds = String(seconds);
			},
}
		

但是测试阶段发现了一个问题 Android端可以正常显示倒计时

但是到了ios端就会成为 NAN 时 NAN 分 NAN 秒 ;

问题解决方法:

end = new Date((end).replace(/-/g,'/')).getTime();

let start = (date.replace(/-/g,'/')).getTime();

xxx.replace(/-/g,'/')*兼容Android和ios都能快速解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阁下何不同风起?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值