uniapp用js写得到一个未来时间并倒计时
在data里定义一个未来时间,可以得到后台数据赋值上去给overTime,我这里写成固定的值。
在methods里写上js代码
// 时间倒计时
setOverTime(overTime){
setInterval(
() => {
let isOverTime = this.getOverTime(overTime);
this.countdown=isOverTime;
}, 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 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;
hours = hours < 10 ? ('0' + hours) : hours;
minutes = minutes < 10 ? ('0' + minutes) : minutes;
seconds = seconds < 10 && seconds >= 1 ? ('0' + seconds) : seconds;
return hours + ":" + minutes + ":" + seconds;
},
在需要的地方调用setOverTime(this.overTime)
我在onLoad调用
渲染到页面
<view class="bntbox" @click="SubmitTask">提交验证{{(countdown)}}</view>
效果: