Go实现定时任务

package main

import (
	"log"
	"time"
)

func main() {
	// 获取当前时间
	now := time.Now()

	// 设置要执行任务的时间,每天凌晨1点
	next := time.Date(now.Year(), now.Month(), now.Day(), 1, 0, 0, 0, now.Location())

	// 如果当前时间已经过了凌晨1点,则将下一个凌晨1点设为明天的凌晨1点
	if next.Before(now) {
		next = next.Add(24 * time.Hour)
	}

	// 计算还有多长时间到凌晨1点
	duration := next.Sub(now)

	// 等待到达下一个凌晨1点
	time.Sleep(duration)

	for {
		// 执行任务
		log.Println("444")
		// 每24小时触发一次任务
		ticker := time.NewTicker(time.Minute)
		select {
		case <-ticker.C:
		}
	}

}

你可能感兴趣的:(golang,开发语言,后端)