我今天有这个功能。我想知道为什么会发生以下结果。
today = datetime.datetime.now()
显示为2018-06-13 17:13:42.372469
today = datetime.datetime.now().date()
显示为2018-06-13
但是当我尝试使用timedelta时:
today = datetime.datetime.now().date() + datetime.timedelta(hours=-8)
它显示2018-06-12。一整天回来而不是8小时(应该显示2018-06-13 9:13:42)
有人可以解释一下为什么会发生这种情况并让timedelta正确地回到8小时而不是一天吗?
答案 0 :(得分:3)
通过将时间戳减少到仅限日期,您已有效地将时间设置为00:00:00 - 从2018-06-13午夜减去8小时正确结果为2018-06-12。
为什么不使用正确的时间戳进行计算,只在执行后将它们转换为日期?