字符串到日期格式

时间:2018-02-20 19:13:57

标签: python datetime

我有一个以下格式的字符串: 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

我在这里错过了什么吗?

1 个答案:

答案 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:你已经开始使用相同的字符串。