python中 date, datetime, str之间的相互转化

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

猜你喜欢

转载自blog.csdn.net/liuzonghao88/article/details/88123588