【问题标题】:Timedelta of datetime object and timezone object日期时间对象和时区对象的时间增量
【发布时间】:2020-06-02 21:04:27
【问题描述】:

我在 YY/M/D/H 中有一个字符串日期时间,它已经转换为 PST 时区并保存了。在阅读它时,我正在执行以下操作

submitted_time = '2020/02/13/11/16'
submitted_datetime = datetime.strptime(submitted_time, '%Y/%m/%d/%H/%M')

这个时间已经在 PST 时区,为了计算时差,我尝试执行以下操作:

from pytz import timezone
pacific = timezone('America/Los_Angeles')
today = datetime.now().astimezone(pacific)

但是今天 - submit_datetime 不起作用。我收到以下错误:

*** 类型错误:不能减去偏移天真和偏移感知日期时间

有没有办法让这个工作?非常感谢任何帮助。

【问题讨论】:

    标签: python datetime timezone pytz


    【解决方案1】:

    使用您提供的代码,我怀疑submitted_time 会被解释为时区感知,更不用说PST。如果您确实将其转换为可识别时区的日期时间对象,则减法有效:

    from datetime import datetime
    from pytz import timezone
    submitted_time = datetime.strptime('2020/02/13/11/16', '%Y/%m/%d/%H/%M')
    pacific = timezone('America/Los_Angeles')
    today = datetime.now().astimezone(pacific)
    submitted_time = submitted_time.astimezone(pacific)
    print(today - submitted_time)
    

    输出:

    5 days, 4:50:57.251801
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      相关资源
      最近更新 更多