Python实现日期的加减
2019-01-05 本文已影响0人
快乐的小豹子
在处理文件数据的时候涉及需要处理时间的问题
原始数据 2019.01.05
想要得到的数据 2019.01.05 ---2019.02.04
Python的timedelta可以处理时间的加减
sdate = datetime.datetime.strptime('2019.01.05','%Y.%m.%d')
delta7 = datetime.timedelta(days=7)
edate = sdate + delta7
print(edate)
2019.01.12
用上述办法分情况加30天或者31天得到下个月日期,碰到2月份还要考虑是28天还是闰年的29天,
判断起来很麻烦而且还没有办法100%得到想要的数据。
查询资料发现Python有一个python-dateutil模块
pip install python-dateutil
import datetime
from dateutil.relativedelta import relativedelta
sdate = datetime.datetime.strptime('2019.01.05','%Y.%m.%d')
edate = sdate + relativedelta(months=1)
print(edate)
2019.02.05
relativedelta()
relativedelta(years=+2, months=+8, days=+16,hours=+20, minutes=+54, seconds=+47)
参数特别多,功能很强大,完美解决了获取正确日期的问题,还有更多参数不一一列举