2024-10-02 18:14:10 发布
网友
我使用的API以wierd格式“YYYY-MM”发送日期-直径:MM:SSZ“。 所以日期显示为2018-04-27T23:59:18Z,我从未见过这样的日期和时间格式。它是一个字符串,我想将其格式化为MM-DD-YYYY HH:MM:SS。我甚至连头都绕不过去把T和Z去掉。任何帮助都将不胜感激!提前谢谢!你知道吗
2018-04-27T23:59:18Z
MM-DD-YYYY HH:MM:SS
T
Z
通过datetime.strptime从字符串创建datetime.datetime对象,然后使用strftime方法将其转换回字符串。你知道吗
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。)
%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包将为您解析它。你知道吗
dateutil
通过
datetime.strptime
从字符串创建datetime.datetime
对象,然后使用strftime
方法将其转换回字符串。你知道吗strptime and strftime behavior
(根据您的区域设置,您可能必须使用
%H
、%M
和%S
而不是%X
。)使用此模式:
然后使用
strftime
获取日期时间字符串:这看起来像ISO8601时间格式。你知道吗
由于我真的不明白的原因,没有标准的库函数可以正确解析ISO8601。但是,您可以在PyPI上找到的
dateutil
包将为您解析它。你知道吗相关问题 更多 >
编程相关推荐