Golang每天零点定时执行特定操作

import (
    "time"
    "fmt"
)

//定时创建数据库
func TimeToCreatDb() {
    for {
        now := time.Now()  //获取当前时间,放到now里面,要给next用  
        next := now.Add(time.Hour * 24) //通过now偏移24小时
        next = time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location()) //获取下一个凌晨的日期
        t := time.NewTimer(next.Sub(now))//计算当前时间到凌晨的时间间隔,设置一个定时器
        <-t.C
        Printf("凌晨创建一个文件: %v\n",time.Now())
        //以下为定时执行的操作
        creatdb()
    }
}

你可能感兴趣的:(go)