【问题标题】:Javascript timezone offset not compatible with python datetimeJavascript时区偏移与python datetime不兼容
【发布时间】:2021-09-17 09:30:39
【问题描述】:

我想解析一个由 javascript 生成的字符串,如下所示:2021-03-10 03:15 -180 我在 python 中使用来自 datetime 的解析器,它无法识别由 javascript 生成的时区偏移量。有什么想法吗?

dateutil.parser._parser.ParserError: Unknown string format: 2021-03-10 03:15 -180

【问题讨论】:

  • 考虑修复 javascript 以生成符合标准的偏移量,因此“-180”为“+03:00”或“+0300”。

标签: javascript python datetime timezone


【解决方案1】:

以不同方式解析日期和时区偏移量。您可以执行以下操作:

from datetime import datetime, timedelta, timezone
my_date = '2021-03-10 03:15 -180'
date_string, tz_offset = my_date.rsplit(' ', 1)
dt = datetime.strptime(date_string, '%Y-%m-%d %H:%M') + timedelta(minutes=int(tz_offset))
dt = dt.replace(tzinfo=timezone.utc)

这将为您提供正确的 UTC 时间。如果您需要使用不同的时区,可以使用 dt.astimezone(my_new_timezone) 将时间转换为另一个时区

【讨论】:

    猜你喜欢
    • 2011-09-18
    • 2012-08-06
    • 2015-05-11
    • 2015-02-03
    • 2017-10-04
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多