package main
import (
"fmt"
"strconv"
"time"
)
var (
nowday = time.Now().Day()
now, _ = strconv.Atoi(fmt.Sprintf("%04d%02d%02d%02d", time.Now().Year(), time.Now().Month(), time.Now().Day(), 0))
)
func main() {
tickMinute()
//fmt.Println(getTodaySurplusSecond())
}
var (
nowminute = time.Now().Minute()
)
func tickMinute() {
fmt.Println("Minute =", nowminute)
t := time.NewTicker(time.Second * time.Duration(60-time.Now().Second()))
defer t.Stop()
for {
select {
case <-t.C:
fmt.Println("timeout")
nowminute = time.Now().Minute()
fmt.Println("Minute =", nowminute)
t.Reset(time.Second * 60)
}
}
}
func tickDay() {
c := getTodaySurplusSecond()
t := time.NewTicker(time.Second * time.Duration(c))
defer t.Stop()
for {
select {
case <-t.C:
nowday = time.Now().Day()
now, _ = strconv.Atoi(fmt.Sprintf("%04d%02d%02d%02d", time.Now().Year(), time.Now().Month(), time.Now().Day(), 0))
t.Reset(time.Second * time.Duration(86400))
}
}
}
func timetick() {
c := getTodaySurplusSecond()
t := time.NewTicker(time.Second * time.Duration(c))
defer t.Stop()
for {
select {
case <-t.C:
fmt.Println("timeout")
nowday = time.Now().Day()
now, _ = strconv.Atoi(fmt.Sprintf("%04d%02d%02d%02d", time.Now().Year(), time.Now().Month(), time.Now().Day(), 0))
t = time.NewTicker(time.Second * time.Duration(86400))
}
}
}
func getTodaySurplusSecond() int64 {
var cstSh, _ = time.LoadLocation("Asia/Shanghai")
timeTemplate := "2006-01-02 15:04:05"
timeStr := time.Now().Format("2006-01-02")
now_time_str := time.Now().In(cstSh).Format(timeTemplate)
today_end_time_str := timeStr + " 23:59:59"
formatTime1, _ := time.Parse(timeTemplate, now_time_str)
formatTime2, _ := time.Parse(timeTemplate, today_end_time_str)
fmt.Println(formatTime1, formatTime2)
t1 := formatTime1.Unix()
t2 := formatTime2.Unix()
return t2 - t1
}
go time.NewTicker
最新推荐文章于 2024-01-21 21:16:52 发布