gpt4 book ai didi

python - dateutil.rrule.rrule.between() 只给出现在之后的日期

转载 作者:太空狗 更新时间:2023-10-30 01:52:36 25 4
gpt4 key购买 nike

从 IPython 控制台:

In [16]: b
Out[16]: datetime.datetime(2008, 3, 1, 0, 0)

In [17]: e
Out[17]: datetime.datetime(2010, 5, 2, 0, 0)

In [18]: rrule(MONTHLY).between(b, e, inc=True)
Out[18]:
[datetime.datetime(2009, 3, 6, 14, 42, 1),
datetime.datetime(2009, 4, 6, 14, 42, 1),
datetime.datetime(2009, 5, 6, 14, 42, 1),
datetime.datetime(2009, 6, 6, 14, 42, 1),
datetime.datetime(2009, 7, 6, 14, 42, 1),
datetime.datetime(2009, 8, 6, 14, 42, 1),
datetime.datetime(2009, 9, 6, 14, 42, 1),
datetime.datetime(2009, 10, 6, 14, 42, 1),
datetime.datetime(2009, 11, 6, 14, 42, 1),
datetime.datetime(2009, 12, 6, 14, 42, 1),
datetime.datetime(2010, 1, 6, 14, 42, 1),
datetime.datetime(2010, 2, 6, 14, 42, 1),
datetime.datetime(2010, 3, 6, 14, 42, 1),
datetime.datetime(2010, 4, 6, 14, 42, 1)]

如何使 between() 返回从开始 (b) 日期开始的日期?

最佳答案

您需要将 b 传递给 rrule,如下所示:

rrule(MONTHLY, dtstart = b).between(b, e, inc=True)

从这些文档 ( http://labix.org/python-dateutil ) 看来,调用 rrule 而不指定 dtstart 将使用 datetime.datetime.now() 作为您稍后应用 between 的序列的起点到。这就是您的值从 2009-03-06 开始的原因。

关于python - dateutil.rrule.rrule.between() 只给出现在之后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com