【问题标题】:Convert date of format "Thu Dec 10 13:25:26 UTC 2020" to datetime python将格式“Thu Dec 10 13:25:26 UTC 2020”的日期转换为 datetime python
【发布时间】:2021-02-08 10:23:18
【问题描述】:

我有一个格式为“Thu Dec 10 13:25:26 UTC 2020”的日期字符串。我想在 python 中将其转换为 UTC 日期时间。我该怎么做?

我有一个格式为“2021-02-02T21:39:35-08:00”的字符串,我可以使用以下代码对其进行转换

from datetime import timezone
from dateutil import parser
parser.isoparse("2021-02-02T21:39:35-08:00").astimezone(timezone.utc)
>>datetime.datetime(2021, 2, 3, 5, 39, 35, tzinfo=datetime.timezone.utc)

我不确定如何针对上述格式(2020 年 12 月 10 日星期四 13:25:26 UTC)执行此操作。

【问题讨论】:

  • parser.parse("Thu Dec 10 13:25:26 UTC 2020") 怎么样?对我来说效果很好...您也可以使用 Python 的 strptime,但这不会将 UTC 解析为 tzinfo=timezone.utc
  • 这能回答你的问题吗? Converting string into datetime

标签: python string datetime


【解决方案1】:

您可以使用带有愿望格式的datetime.datetime 中的strptime,也可以使用dateutil 中的parser 试试:

from datetime import datetime
from dateutil import parser

date_str = 'Thu Dec 10 13:25:26 UTC 2020'

datetime_object = datetime.strptime(date_str, '%a %b %d %H:%M:%S %Z %Y')

print(datetime_object)

print(parser.parse(date_str))

输出:

2020-12-10 13:25:26
2020-12-10 13:25:26+00:00

【讨论】:

  • 还应注意strptime 返回的日期时间对象是幼稚的,即没有时区信息。由于输入是 UTC 并且 Python 默认使用本地时间,因此这很容易出错(另请参阅我对问题的评论)。
猜你喜欢
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
相关资源
最近更新 更多