【发布时间】:2019-05-26 12:02:24
【问题描述】:
我有如下日期格式的数据:
date_format = 190410
year = 19
month = 04
date = 10
我想更改日期格式,如下所示:
date_format = 10-04-2019
我该如何解决这个问题?
【问题讨论】:
标签: python python-3.x date
我有如下日期格式的数据:
date_format = 190410
year = 19
month = 04
date = 10
我想更改日期格式,如下所示:
date_format = 10-04-2019
我该如何解决这个问题?
【问题讨论】:
标签: python python-3.x date
>>> 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 对象转换为具有给定格式的字符串。您可以从here 中查看%y %m %d %Y 是什么。
【讨论】:
这就是你想要的(注意你必须改变你的格式)
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)
有很多方法可以实现你想要的。
【讨论】: