Python3的日期和时间格式

时间:2018-04-29 15:34:59

标签: python python-3.x

我使用的API以奇怪的格式发送日期" YYYY-MM-DDTHH:MM:SSZ"。 所以日期是2018-04-27T23:59:18Z,我从来没有看到像这样格式化的日期和时间。它是一个字符串,我想将其格式化为MM-DD-YYYY HH:MM:SS。我甚至无法绕过TZ。任何帮助,将不胜感激!提前谢谢!

3 个答案:

答案 0 :(得分:2)

通过datetime.datetime从字符串中创建datetime.strptime对象,然后将其转换为带有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。)

答案 1 :(得分:1)

使用此模式:

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'

答案 2 :(得分:1)

看起来像ISO 8601时间格式。

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