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) }