Python3日期和时间格式

2024-10-02 18:14:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的API以wierd格式“YYYY-MM”发送日期-直径:MM:SSZ“。 所以日期显示为2018-04-27T23:59:18Z,我从未见过这样的日期和时间格式。它是一个字符串,我想将其格式化为MM-DD-YYYY HH:MM:SS。我甚至连头都绕不过去把TZ去掉。任何帮助都将不胜感激!提前谢谢!你知道吗


Tags: 字符串api格式hh时间ssddmm
3条回答

通过datetime.strptime从字符串创建datetime.datetime对象,然后使用strftime方法将其转换回字符串。你知道吗

>>> from datetime import datetime
>>> s = "2018-04-27T23:59:18Z"
>>> datetime.strptime(s, '%Y-%m-%dT%XZ').strftime('%m-%d-%Y %X')
>>> '04-27-2018 23:59:18'

strptime and strftime behavior

(根据您的区域设置,您可能必须使用%H%M%S而不是%X。)

使用此模式:

import datetime

d = '2018-04-27T23:59:18Z'
myDate = datetime.datetime.strptime(d, '%Y-%m-%dT%H:%M:%SZ')
# datetime.datetime(2018, 4, 27, 23, 59, 18)

然后使用strftime获取日期时间字符串:

myDate_str = myDate.strftime('%Y-%m-%d %H:%M:%S')
# '2018-04-27 23:59:18'

这看起来像ISO8601时间格式。你知道吗

由于我真的不明白的原因,没有标准的库函数可以正确解析ISO8601。但是,您可以在PyPI上找到的dateutil包将为您解析它。你知道吗

相关问题 更多 >