Python 字符串的最新格式
我有以下格式的字符串: x='2018-02-15-11' 我需要将其转换为日期格式。我试过:Python 字符串的最新格式,python,datetime,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 我需要以下格式的输出(作为日期
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
我需要以下格式的输出(作为日期对象):
我在这里遗漏了什么吗?我想您可能有错误,您使用了
%Y-%M-%d-%H
,其中%M
表示分钟,而不是月份。但根据外观,它应该是%m
,即月份
回答原始问题时,strftime
(datetime to string)和strftime
(string to datetime)的格式说明符是相同的。因此,您可以使用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
注意:您得到的字符串与您开始使用的字符串相同。
M
是分钟,月份默认为1
,因为您没有指定它。您的字符串不是以'2018-02-15-11'
开头吗?为什么需要转换它?请尝试将%H更改为%k
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