python 中时间加减 relativedelta

在Python中,当需要处理较大范围的时间加减,如月与月之间的操作,datetime.timedelta不适用。此时可以使用dateutil库的relativedelta模块。该模块支持年、月、日等多个时间单位。在使用中可能会遇到与datetime对象直接加法运算的报错,通过relativedelta可以解决这个问题,实现时间序列的正确平移和对齐。
摘要由CSDN通过智能技术生成

官方链接
最近用到了月与月之间的加减, 发现 datetime.timedelta() 不支持这么大范围的时间加减
于是乎使用 relativedelta()

需要先安装时间处理-dateutil模块

pip install python-dateutil

relativedelta 使用
relativedelta() 同时也支持年 、月、日、周、时、分、秒的参数

from dateutil.relativedelta import relativedelta
import datetime
s_time= datetime.datetime.now()
print(s_time) # 2020-04-27 20:55:35.117521
#减一个月
stMonth = (s_time - relativedelta(months=1))
print(stMonth) # 2020-03-27 20:55:35.117521

stMonth = (s_time - relativedelta(year=1))
stMonth = (s_time - relativedelta(months=1))
stMonth = (s_time - relativedelta(days=1))
stMonth = (s_time - relativedelta(weeks=1))
stMonth = (s_time - relativedelta(hours=1))
stMonth = (s_time - relativedelta(minutes=1))
stMonth = (s_time - relativedelta(seconds=1))

2. 报错

result['time2'] = result['time'] +
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值