我有两个时间实例。have我从数据库和Now()时间中获取。一旦我想用 比较它们After,结果就不是我所期望的。实例如下:
// have => 2022-01-09 09:09:59 +0000 +0000
// now => 2022-01-09 11:57:08.990265878 +0300 +0300 m=+4.977355713
if now.After(have) {
// ...
}
我期望true上述条件的结果,而它返回false。为了更好地解决这个问题,我将它们转换为 Unix 时间,Unix()令人惊讶的是,它的值have略大于now,这就是条件返回的原因false。
显然now是 afterhave但它的 Unix 时间小于have. 由于我想知道此案,请您告诉我我错在哪里?
更新 问题与时区有关。我没有注意到它。所以我添加了以下代码:
loc, _ := time.LoadLocation("Local")
have = have.In(loc)
然后一旦我打印出来,它是这样的:
have => 2022-01-09 12:09:59 +0300 +0300
这就是条件返回错误的原因。
慕尼黑5688855
相关分类