为了账号安全,请及时绑定邮箱和手机立即绑定

按秒/分钟/小时查找早期时间

按秒/分钟/小时查找早期时间

Go
慕容3067478 2023-03-21 16:04:23
我有时间除以 240 米或 4 小时。如何从随机时间或 time.now() 从 00.00 开始将早期时间除以 4 小时?02.35.00 将是 00.00.0023.59.59 将是 20.00.00其他样品。除以 50 分钟:00.50.00 将是 00.50.0000.49.59 将是 00.00.0001.50.00 将是 01.40.00...23.59.59 将是 23.20.00分频器可以从 1 秒开始到 23h59m。我已经采用了其他方法,例如https://play.golang.org/p/oJn09DCWqjF但如果我想从 2/4 秒开始使用分隔符,它可能会浪费大切片的内存并降低性能。因为我想要没有计时器的实验过期缓存。谢谢。
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

time.Time.Truncate主要是你想要的。

但是,当时间与日期一起出现时有点棘手,因为并非所有持续时间都可以划分为 24 小时(例如 50 分钟)。您将要删除日期并将其添加回去。

func truncate(t time.Time, d time.Duration) time.Time {
    yy, mm, dd := t.Date()
    t = t.AddDate(-yy, -int(mm), -dd)
    t = t.Truncate(d)
    t = t.AddDate(yy, int(mm), dd)
        return t
}

游乐场:https://play.golang.org/p/fFAqh_0Wkdp

请注意游乐场有固定时间。


查看完整回答
反对 回复 2023-03-21
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号