任何时候你都可以开始做自己想做的事

搜索|
python中加减日期
发布时间:2023-10-18 22:51:56

可以使用Python内置的datetime模块来进行日期的加减运算。具体操作如下:


1. 加减天数


from datetime import datetime, timedelta


# 获取当前日期

current_date = datetime.now()


# 加一天

next_day = current_date + timedelta(days=1)


# 减两天

two_days_ago = current_date - timedelta(days=2)

上述代码中,使用timedelta来实现对日期的加减。days参数表示要加减的天数。


2. 加减月份


from dateutil.relativedelta import relativedelta


# 获取当前日期

current_date = datetime.now()


# 加一个月

next_month = current_date + relativedelta(months=1)


# 减两个月

two_months_ago = current_date - relativedelta(months=2)

上述代码中,使用dateutil库中的relativedelta来实现对月份的加减。months参数表示要加减的月份数。


需要注意的是,当使用timedelta和relativedelta的时候,如果加减后的结果还要求比较或者转换成字符串类型,最好在加减之前先把时间格式化为字符串形式,再进行加减处理。例如:


from datetime import datetime, timedelta


# 获取当前日期

current_date = datetime.now()


# 先将日期转换为字符串形式

current_date_str = current_date.strftime('%Y-%m-%d %H:%M:%S')


# 加一天

next_day_str = (current_date + timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')

from dateutil.relativedelta import relativedelta


# 获取当前日期

current_date = datetime.now()


# 先将日期转换为字符串形式

current_date_str = current_date.strftime('%Y-%m-%d %H:%M:%S')


# 加一个月

next_month_str = (current_date + relativedelta(months=1)).strftime('%Y-%m-%d %H:%M:%S')