由于编码和格式问题,有时候从read_csv或者read_excel读取到的时间类型是不确定的。
1.字符串转datetime.datetime时间格式
如果是字符串string类型,则可以使用:
df['PDATE'] = pd.to_datetime(df['PDATE']).dt.date
转换为date格式,在上面的基础上使用.dt.year; dt.month.astype(int)进行更为细致的划分。
如果从文件读取到的时间不是字符串类型的可以使用下面代码转化:
df['PDATE'] = pd.to_datetime(df['PDATE'].astype(str)).dt.date
2,时间格式转字符串
如果是timestamps.Timestamp类型,
使用your_time.date().strftime('%Y-%m-%d')
如果是datetime.datetime类型
使用your_time.strftime("%Y-%m-%d")
3,下面类型日期可以直接加减天数
datetime.date类型,加上.date()获取到年月日,在加上日期即可。
pd.to_datetime(your_date).date() - datetime.timedelta(days=180)