Python实现日期的加减

在处理文件数据的时候涉及需要处理时间的问题

原始数据 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)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,073评论 2 89
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,476评论 0 9
  • 几天前遇到的一幕,一直在脑海里翻腾,终于在瞬间,想到这个,于是思绪万千,泉泉涌来;写它,告诉自己改变,多种角色的给...
    铭悦阅读 456评论 0 3
  • 大二第n个星期的星期一,忙到喘不过气,说到底还是自己能力不够.为什么我自己喜欢海报和ps做起来这么费力呢.还好有舍...
    甜辣麦乐G阅读 356评论 0 0
  • 一年 就这样走完了 不是很清楚自己是不是失去了什么 但可以确定的是得到了哪些 工作后保持着阅读的习惯 一月不买书一...
    路走走阅读 131评论 0 1