gpt4 book ai didi

python - 如果日期时间可以是偏移感知的或天真的,则从当前时间中减去日期时间对象

转载 作者:行者123 更新时间:2023-12-01 08:55:28 26 4
gpt4 key购买 nike

我处于一种奇怪的情况,我有一个 json 文件,我正在从中读取 string 格式的日期时间。然后我使用 dateutil.parser.parse 解析它。

最终的datetime对象是这样的

2015-08-22 14:06:03-07:00

我需要从当前时间中减去它并得到总天数。我可以轻松做到这一点,但问题是我并不总是知道文件中上述日期时间的格式(在某些文件中它是偏移感知的,而其他时候则不是)。

datetime.datetime.now() 给出 2018-10-14 14:10:44.532932

有没有办法从当前日期时间中减去任何格式的日期时间

示例,

文件中的格式可以返回,

2015-08-22 14:06:03-07:00

2015-08-22 14:06:03.4421-07:00

或者其他东西

当前日期时间返回 2018-10-14 14:19:10.510259 但解析后的 datetime 返回 2013-06-20 13:39:30-07 :00。我知道两者都是 datetime 对象,但是当我减去它时,我得到

TypeError: can't subtract offset-naive and offset-aware datetimes

我希望能够从当前日期时间中减去任何这些格式。

最佳答案

您应该在获取当前时间时设置时区。

from datetime import datetime
from dateutil.parser import parse
from pytz import timezone

et = timezone('US/Eastern')

x = parse('2015-08-22 14:06:03.4421-07:00')
y = datetime.now(tz=et)

print(y-x)

关于python - 如果日期时间可以是偏移感知的或天真的,则从当前时间中减去日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52799167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com