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