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)

参数特别多,功能很强大,完美解决了获取正确日期的问题,还有更多参数不一一列举

上一篇 下一篇

猜你喜欢

热点阅读