业务需求:数据大屏页面中的某个方法需要在今天12:00执行一次,或是在今天的17:00执行一次,
这里用到 setTimeout定时器来实现。
- //获取某个时间的时间戳
- getCurrentDate(time) {
- let now = new Date();
- let year = now.getFullYear();
- let month = now.getMonth() + 1;
- let day = now.getDate();
- return year + "-" + month + "-" + day + ' ' + time
- },
-
- mounted(){
- let timeList = ['7:35:00', '17:05:00']
- timeList.forEach(item => {
- let nowtime = new Date().getTime()
- let onetime = new Date(this.getCurrentDate(item)).getTime()
- if (nowtime > onetime) {
- return
- } else {
- let t = (onetime - nowtime)
- setTimeout(() => {
- //要执行的方法
- }, t)
- }
- })
- }