from datetime import datetime, date
from datetime import timedelta
def transform():
# 获取上周时间 类型是str
last_week = (date.today() - timedelta(days=7)).strftime("%Y-%m-%d")
print(type(last_week), last_week)
# str转datetime.datetime
datetime_date = datetime.strptime(last_week, "%Y-%m-%d")
print(type(datetime_date), datetime_date)
# datetime.datetime转str
str_datetime = datetime_date.strftime("%Y-%m-%d")
print(type(str_datetime), str_datetime)
# str转datetime.date 先将str转datetime.datetime, 再转datetime.date
datetime_date = datetime.strptime(last_week, "%Y-%m-%d")
date_time = datetime.date(datetime_date)
print(type(date_time), date_time)
# datetime.date转str
str_date = str(date_time)
print(type(str_date), str_date)
if __name__ == '__main__':
transform()
运行结果
<class 'str'> 2019-02-25
<class 'datetime.datetime'> 2019-02-25 00:00:00
<class 'str'> 2019-02-25
<class 'datetime.date'> 2019-02-25
<class 'str'> 2019-02-25
总结:三者之间都可以互相转化,比如date转datetime,可以date转str,str转datetime