我正在重构一堆现有的Go代码,在很多地方,我使用86400 * { days }来设置MaxAge等。有没有更直观的方法来设置这些?我现在有很多用例需要使用时间验证和其他东西,但我想知道如何在2个标准周或6个标准月内完成时间等。
86400 * { days }
2ekbmq321#
使用AddDate
twoWeeksFromNow := time.Now().AddDate(0, 0, 14) oneMonthFromNow := time.Now().AddDate(0, 1, 0) oneYearFromNow := time.Now().AddDate(1, 0, 0)
6yt4nkrj2#
这就是Duration类型沿着预定义常量的用途。尽管要注意,由于时区和夏令时的变化等原因,它并不总是优雅地处理日期。如果你对此没有意见,请执行以下操作:
maxAge := days * 24 * time.Hour
要将此添加到当前时间,可以使用Add:
deadline := time.Now().Add(maxAge)
2条答案
按热度按时间2ekbmq321#
使用AddDate
6yt4nkrj2#
这就是Duration类型沿着预定义常量的用途。
尽管要注意,由于时区和夏令时的变化等原因,它并不总是优雅地处理日期。如果你对此没有意见,请执行以下操作:
要将此添加到当前时间,可以使用Add: