ai-week/tools/checktime.go

34 lines
722 B
Go

package tools
import (
"time"
)
// 计算时间差值
func RemainingTimeUntilNextFriday17() time.Duration {
// 获取当前时间
now := time.Now()
// 计算下一个周五的时间
nextFriday := GetNextWeekday(now, time.Friday)
// 构造下一个周五 17 点的时间
nextFriday17 := time.Date(nextFriday.Year(), nextFriday.Month(), nextFriday.Day(), 17, 0, 0, 0, nextFriday.Location())
// 计算时间差
duration := nextFriday17.Sub(now)
return duration
}
// 获取下一个指定星期几的时间
func GetNextWeekday(t time.Time, weekday time.Weekday) time.Time {
daysUntil := (int(weekday) - int(t.Weekday()) + 7) % 7
if daysUntil == 0 {
daysUntil = 7
}
return t.AddDate(0, 0, daysUntil)
}