Python 正在用 strptime 解析日期
Python parsing date with strptime
我有url returns 这种格式的日期
url_date = "2015-01-12T08:43:02Z"
我不知道为什么会有字符串,将其作为 "2015-01-1208:43:02"
获取会更简单,使用
解析起来会更简单
datetime.datetime.strptime(url_date , '%Y-%m-%d')
但它不起作用。我试过
%Y-%m-%d
%Y-%m-%d-%H-%M-%S
%Y-%m-%d-%H-%M-%S-%Z
但我不断收到类似 "time data 2015-01-12T08:43:02Z does not match ..."
的错误
您在最后一次尝试中接近 "Z" - 您需要在格式字符串中指定 T、Z 和冒号文字值。
>>> import datetime
>>> url_date = "2015-01-12T08:43:02Z"
>>> datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2015, 1, 12, 8, 43, 2)
您要查找的格式是 - '%Y-%m-%dT%H:%M:%SZ'
.
例子-
>>> url_date = "2015-01-12T08:43:02Z"
>>> import datetime
>>> datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2015, 1, 12, 8, 43, 2)
对于评论中的新要求-
if I wanted to get a time back with the strings as in 2015-01-12:08:43:02 which methods should after datetime().datetime()
您需要在 datetime.datetime
对象上使用 .strftime()
,格式为 - '%Y-%m-%d:%H:%M:%S'
。示例 -
>>> url_date = "2015-01-12T08:43:02Z"
>>> dt = datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
>>> dt.strftime('%Y-%m-%d:%H:%M:%S')
'2015-01-12:08:43:02'
如果你想要时间组件,你可以使用 .time()
。示例 -
>>> dt = datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
>>> dt.time()
datetime.time(8, 43, 2)
我有url returns 这种格式的日期
url_date = "2015-01-12T08:43:02Z"
我不知道为什么会有字符串,将其作为 "2015-01-1208:43:02"
获取会更简单,使用
datetime.datetime.strptime(url_date , '%Y-%m-%d')
但它不起作用。我试过
%Y-%m-%d
%Y-%m-%d-%H-%M-%S
%Y-%m-%d-%H-%M-%S-%Z
但我不断收到类似 "time data 2015-01-12T08:43:02Z does not match ..."
的错误您在最后一次尝试中接近 "Z" - 您需要在格式字符串中指定 T、Z 和冒号文字值。
>>> import datetime
>>> url_date = "2015-01-12T08:43:02Z"
>>> datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2015, 1, 12, 8, 43, 2)
您要查找的格式是 - '%Y-%m-%dT%H:%M:%SZ'
.
例子-
>>> url_date = "2015-01-12T08:43:02Z"
>>> import datetime
>>> datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2015, 1, 12, 8, 43, 2)
对于评论中的新要求-
if I wanted to get a time back with the strings as in 2015-01-12:08:43:02 which methods should after datetime().datetime()
您需要在 datetime.datetime
对象上使用 .strftime()
,格式为 - '%Y-%m-%d:%H:%M:%S'
。示例 -
>>> url_date = "2015-01-12T08:43:02Z"
>>> dt = datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
>>> dt.strftime('%Y-%m-%d:%H:%M:%S')
'2015-01-12:08:43:02'
如果你想要时间组件,你可以使用 .time()
。示例 -
>>> dt = datetime.datetime.strptime(url_date , '%Y-%m-%dT%H:%M:%SZ')
>>> dt.time()
datetime.time(8, 43, 2)