如何在Golang中使用time包设置距当前时间两天后的未来时间
解决方案
Go 标准库 time 包内置了日期偏移的专用方法,调整代码如下即可实现需求:
// 获取当前时间 now := time.Now() // AddDate 三个参数分别对应 年偏移量、月偏移量、日偏移量,此处设置日偏移为2 someTimeInTheFuture := now.AddDate(0, 0, 2)
补充说明
AddDate会自动处理跨月、跨年、闰月等边界场景,无需手动做日期合法性校验,比如当前日期为10月31日时,加2天会自动返回11月2日- 如果你需要的是顺延2天的零点时间(过滤当前时间的时分秒部分),可以额外调用
Truncate方法做截断:someTimeInTheFuture := time.Now().AddDate(0, 0, 2).Truncate(24 * time.Hour) - 注意 Go 语言大小写敏感,你原有代码中的
time.now()写法错误,导出方法首字母需要大写,正确写法为time.Now()
内容的提问来源于stack exchange,提问作者TypeScriptProgrammer1234
相关产品推荐
相关产品推荐

