我有一个以下格式的字符串: x =' 2018-02-15-11'
我需要将其转换为日期格式。我试过了:
from datetime import date
from datetime import time
from datetime import datetime
dhs = '2018-02-15-11'
x = datetime.strptime(dhs, '%Y-%M-%d-%H')
print x
然而,输出是
2018-01-15 11:02:00
我需要格式的输出(作为日期对象):
2018-01-15-11
我在这里错过了什么吗?
答案 0 :(得分:1)
我认为您可能存在错误,您已使用%Y-%M-%d-%H
%M
表示分钟,而不是月。但根据外观,它应该是%m
,即月。
回答原始问题,strftime
(日期时间到字符串)和strptime
(字符串到日期时间)的格式说明符是相同的。所以你可以使用datetime.datetime.strftime('%Y-%m-%d-%H')
之类的:
In [47]: dhs = '2018-02-15-11'
...: x = datetime.datetime.strptime(dhs, '%Y-%m-%d-%H')
...: print(x.strftime('%Y-%m-%d-%H'))
...:
2018-02-15-11
我在这里使用%m
代替%M
。如果您对此非常有信心,请根据需要使用%M
。
N.B:你已经开始使用相同的字符串。