1
0

time_util.go 629 B

12345678910111213141516171819202122
  1. package util
  2. import (
  3. "time"
  4. )
  5. // GetDelaySeconds 获取第一次启动的延时时间(秒)
  6. func GetDelaySeconds(startTime int) time.Duration {
  7. now := time.Now().Truncate(time.Second)
  8. midNightNow := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
  9. midNightTom := midNightNow.Add(24 * time.Hour)
  10. var seconds int
  11. if now.Hour() >= startTime {
  12. // tomorrow
  13. seconds = int(midNightTom.Add(time.Hour * time.Duration(startTime)).Sub(now).Seconds())
  14. } else {
  15. seconds = int(midNightNow.Add(time.Hour * time.Duration(startTime)).Sub(now).Seconds())
  16. }
  17. return time.Second * time.Duration(seconds)
  18. }