2024-05-01 20:03:20 +08:00
|
|
|
package tools
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
2024-05-02 12:38:42 +08:00
|
|
|
// 计算时间差值
|
|
|
|
|
|
|
|
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
|
2024-05-01 20:03:20 +08:00
|
|
|
}
|
2024-05-02 12:38:42 +08:00
|
|
|
return t.AddDate(0, 0, daysUntil)
|
2024-05-01 20:03:20 +08:00
|
|
|
}
|