赞
踩
日常开发中时常需要使用倒计时的方法 现在进行封装一下
//第一步 引入moment import moment from 'moment'; let nowTime:any = ref('')//当前时间 let diffTime:any = ref('')//当前时间和指定时间的差值 let countdown:any = ref(0)//倒计时 // 设置setInterval 用于每秒钟输出一次当前时间 更新倒计时的时间 let interval:any = setInterval(function() { //按照时分秒格式 获取当前时间 需要年月日这样设置 "YYYY-MMM-DDD HH:mm:ss" nowTime.value = moment().format("HH:mm:ss") //通过比较时间差 获取一个秒数值 //比较时间差 按照秒seconds进行比较 如果是年月日比较如右设置 moment('2024-02-05 10:00:00', 'YYYY-MMM-DDD hh:mm:ss') //moment() 为当前时间 diffTime.value = moment('10:00:00', 'hh:mm:ss').diff(moment(), "seconds") //倒计时 如果只需要最后5分钟才显示倒计时 这进行判断 if(diffTime.value<5*60){ let h = moment.duration(diffTime.value, 'seconds').hours()//小时 let m = moment.duration(diffTime.value, 'seconds').minutes()//分钟 let s = moment.duration(diffTime.value, 'seconds').seconds()//秒 countdown.value = `${h<10?'0'+h:h}:${m<10?'0'+m:m}:${s<10?'0'+s:s}` } // 判断是否需要执行定时器 if(diffTime.value < 0 ){ clearInterval(interval)//清除定时器 } }, 1000); //页面销毁时触发 onBeforeUnmount(()=>{ clearInterval(interval)//清除定时器 })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。