您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有没有一种简单的方法可以在Python中将datetime对象增加一个月?[重复]

有没有一种简单的方法可以在Python中将datetime对象增加一个月?[重复]

签出from dateutil.relativedelta import * 为日期添加特定时间的内容,您可以继续使用timedelta简单的内容,例如

use_date = use_date + datetime.timedelta(minutes=+10)
use_date = use_date + datetime.timedelta(hours=+1)
use_date = use_date + datetime.timedelta(days=+1)
use_date = use_date + datetime.timedelta(weeks=+1)

或者您可以开始使用 relativedelta

use_date = use_date+relativedelta(months=+1)

use_date = use_date+relativedelta(years=+1)

下个月的最后一天:

use_date = use_date+relativedelta(months=+1)
use_date = use_date+relativedelta(day=31)

现在,这将提供2016年2月29日

下个月倒数第二天:

use_date = use_date+relativedelta(months=+1)
use_date = use_date+relativedelta(day=31)
use_date = use_date+relativedelta(days=-1)

下个月的最后一个星期五:

use_date = use_date+relativedelta(months=+1, day=31, weekday=FR(-1))

下个月的第二个星期二:

new_date = use_date+relativedelta(months=+1, day=1, weekday=TU(2))

正如@ mrroot5指出的那样,rrule可以使用dateutil的功能,如果您需要日期出现,则可以为您带来更多的收益。 例如: 从上个月的最后一天开始计算9个月的月份的最后一天。 然后,计算每个月的第二个星期二。

from dateutil.relativedelta import *
from dateutil.rrule import *
from datetime import datetime
use_date = datetime(2020,11,21)

#Calculate the last day of last month
use_date = use_date+relativedelta(months=-1)
use_date = use_date+relativedelta(day=31)

#Generate a list of the last day for 9 months from the calculated date
x = list(rrule(freq=MONTHLY, count=9, dtstart=use_date, bymonthday=(-1,)))
print("Last day")
for ld in x:
    print(ld)

#Generate a list of the 2nd Tuesday in each of the next 9 months from the calculated date
print("\n2nd Tuesday")
x = list(rrule(freq=MONTHLY, count=9, dtstart=use_date, byweekday=TU(2)))
for tuesday in x:
    print(tuesday)

Last day
2020-10-31 00:00:00
2020-11-30 00:00:00
2020-12-31 00:00:00
2021-01-31 00:00:00
2021-02-28 00:00:00
2021-03-31 00:00:00
2021-04-30 00:00:00
2021-05-31 00:00:00
2021-06-30 00:00:00

2nd Tuesday
2020-11-10 00:00:00
2020-12-08 00:00:00
2021-01-12 00:00:00
2021-02-09 00:00:00
2021-03-09 00:00:00
2021-04-13 00:00:00
2021-05-11 00:00:00
2021-06-08 00:00:00
2021-07-13 00:00:00

这绝不是可用资源的详尽列表。可在此处找到文档:https ://dateutil.readthedocs.org/en/latest/

python 2022/1/1 18:50:49 有388人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶