我有日期格式如下的数据:
date_format = 190410
year = 19
month = 04
date = 10
我想更改日期格式,如下所示:
date_format = 10-04-2019
我该如何解决这个问题?
答案 0 :(得分:2)
>>> import datetime
>>> date = 190410
>>> datetime.datetime.strptime(str(date), "%y%m%d").strftime("%d-%m-%Y")
'10-04-2019'
datetime.strptime()
采用数据字符串和格式,并将其转换为datetime
对象,而datetime
对象具有称为strftime
的方法,该方法将datetime
对象以给定格式的字符串。您可以查看See it online!中的%y %m %d %Y
是什么。
答案 1 :(得分:1)
这就是您想要的(请注意,您必须更改格式)
import datetime
date_format = '2019-04-10'
date_time_obj = datetime.datetime.strptime(date_format, '%Y-%m-%d')
print(date_time_obj)
这是另一个例子
import datetime
date_time_str = '2018-06-29 08:15:27.243860'
date_time_obj = datetime.datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S.%f')
print('Date:', date_time_obj.date())
print('Time:', date_time_obj.time())
print('Date-time:', date_time_obj)
您也可以这样做
from datetime import datetime, timedelta
s = "20120213"
# you could also import date instead of datetime and use that.
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))
print(date)
有很多方法可以实现您想要的。