【问题标题】:Python : Subtract 1 month from date使用relativedelta从python中的日期减去1个月
【发布时间】:2022-01-04 09:04:22
【问题描述】:

我有一个日期,我想从这个日期减去 1 个月。我正在使用这段代码,但是这减去了 6 个月,我不明白为什么。

print('the max date : ' , all_data['DT_ANO'].max())
dt_start = all_data['DT_ANO'].max() - relativedelta(month = 1)
print('dt_start : ' , dt_start)

我得到这个结果:

the max date :  2021-08-16 00:00:00
dt_start :  2021-01-16 00:00:00 

而不是:

the max date :  2021-08-16 00:00:00
dt_start :  2021-07-16 00:00:00 

【问题讨论】:

  • 我认为你应该使用datetime.timedelta 而不是dateutil.relativedelta

标签: python pandas dataframe datetime relativedelta


【解决方案1】:

猜测 relativedelta 是一个 dateutil 函数,然后使用

relativedelta(months=1)

如果你使用月、年、日……这个值将是绝对的,如果你使用月s、日s、年s,该值将是相对的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 2017-08-23
    • 2018-03-12
    相关资源
    最近更新 更多