taichino / croniter

croniter is a python module to provide iteration for datetime object.
http://github.com/taichino/croniter
387 stars 105 forks source link

get_next() returns datetime before `start_time` #105

Closed Chronial closed 6 years ago

Chronial commented 6 years ago
In [61]: croniter.croniter('32 16 * * *', datetime.datetime(2018, 5, 29, 16, 32, 0), ret_type=datetime.datetime).get_next()
Out[61]: datetime.datetime(2018, 5, 30, 16, 32)

In [62]: croniter.croniter('32 16 * * *', datetime.datetime(2018, 5, 29, 16, 32, 1), ret_type=datetime.datetime).get_next()
Out[62]: datetime.datetime(2018, 5, 29, 16, 32)

The second command should return the same value as the first one.

kiorky commented 6 years ago

Are you sure to use last version with: https://github.com/taichino/croniter/pull/103

kiorky commented 6 years ago

behavior is indeed correct:

>>> cron = croniter.croniter('32 16 * * *', datetime.datetime(2018, 5, 29, 16, 32, 0), ret_type=datetime.datetime)
>>> cron.get_next()
datetime.datetime(2018, 5, 30, 16, 32)
>>> cron.get_next()
datetime.datetime(2018, 5, 31, 16, 32)