Skip to content

Commit 865e3dc

Browse files
committed
more docs
1 parent c270d48 commit 865e3dc

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

README.rst

+33-1
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,42 @@ You can also note that this expression will repeat every second from the start d
133133

134134
>>> croniter('* * * * * *', local_date).get_next(datetime)
135135

136-
You can also use seconds as first slot:
136+
You can also use seconds as first slot::
137137

138138
>>> croniter('* * * * * *', local_date, second_at_beginning=True).get_next(datetime)
139139

140+
141+
Support for start_time shifts
142+
==============================
143+
See https://github.com/kiorky/croniter/pull/76,
144+
You can set start_time=, then expand_from_start_time=True for your generations to be computed from start_time instead of calendar days::
145+
146+
>>> from pprint import pprint
147+
>>> iter = croniter('0 0 */7 * *', start_time=datetime(2024, 7, 11), expand_from_start_time=True);pprint([iter.get_next(datetime) for a in range(10)])
148+
[datetime.datetime(2024, 7, 18, 0, 0),
149+
datetime.datetime(2024, 7, 25, 0, 0),
150+
datetime.datetime(2024, 8, 4, 0, 0),
151+
datetime.datetime(2024, 8, 11, 0, 0),
152+
datetime.datetime(2024, 8, 18, 0, 0),
153+
datetime.datetime(2024, 8, 25, 0, 0),
154+
datetime.datetime(2024, 9, 4, 0, 0),
155+
datetime.datetime(2024, 9, 11, 0, 0),
156+
datetime.datetime(2024, 9, 18, 0, 0),
157+
datetime.datetime(2024, 9, 25, 0, 0)]
158+
>>> # INSTEAD OF THE DEFAULT BEHAVIOR:
159+
>>> iter = croniter('0 0 */7 * *', start_time=datetime(2024, 7, 11), expand_from_start_time=False);pprint([iter.get_next(datetime) for a in range(10)])
160+
[datetime.datetime(2024, 7, 15, 0, 0),
161+
datetime.datetime(2024, 7, 22, 0, 0),
162+
datetime.datetime(2024, 7, 29, 0, 0),
163+
datetime.datetime(2024, 8, 1, 0, 0),
164+
datetime.datetime(2024, 8, 8, 0, 0),
165+
datetime.datetime(2024, 8, 15, 0, 0),
166+
datetime.datetime(2024, 8, 22, 0, 0),
167+
datetime.datetime(2024, 8, 29, 0, 0),
168+
datetime.datetime(2024, 9, 1, 0, 0),
169+
datetime.datetime(2024, 9, 8, 0, 0)]
170+
171+
140172
Testing if a date matches a crontab
141173
===================================
142174
Test for a match with (>=0.3.32)::

0 commit comments

Comments
 (0)