python datetime日期时间去掉 时分秒

一:场景1
输入:datetime格式日期时间
输出:datedate格式日期
方法:datetime.datetime.date()直接转换,关键是改变日期的格式从而改变日期时间的显示。

import pandas as pd
import datetime
from datetime import datetime
from datetime import timedelta
min_datetime = pd.to_datetime('2020-01-01')
datetime_temp = datetime.date(min_datetime + timedelta(days=1))
print(type(datetime_temp),datetime_temp)

输出:
2020-01-02

二:场景2
输入:datetime格式日期时间
输出:日期字符串
方法:datetime.datetime.date()直接转换

import pandas as pd
import datetime
from datetime import datetime
from datetime import timedelta
min_datetime = pd.to_datetime('2020-01-01')
str_time = (min_datetime + timedelta(days=1)).strftime("%Y-%m-%d")
print(type(str_time),str_time)

输出:
2020-01-02

三、混淆点:
step1、日期时间datetime‘2020-01-01 00:00:00’(datetime)——(strftime)——(str):利用strftime转为字符串格式‘2020-01-01’;
step2、字符串格式‘2020-01-01’(str)——(strptime)——(datetime)利用strptime转为datetime,格式‘2020-01-01’。
经过上述两部,print结果还是‘2020-01-01 00:00:00’,格式是datetime。

import pandas as pd
import datetime
from datetime import datetime
from datetime import timedelta
min_datetime = pd.to_datetime('2020-01-01')
str_time = (min_datetime + timedelta(days=1)).strftime("%Y-%m-%d")
datetime_temp2 = datetime.strptime(str_time,"%Y-%m-%d")

print('*'*5+'input'+'*'*5)
print(type(min_datetime),min_datetime)
print('*'*5+'str_time'+'*'*5)
print(type(str_time),str_time)
print('*'*5+'output'+'*'*5)
print(type(datetime_temp2 ),datetime_temp2 )

输出:
input
2020-01-01 00:00:00
str_time
2020-01-02
output
2020-01-02 00:00:00

你可能感兴趣的:(解决Python相关的问题,python,datetime)