Skip to main content

croniter provides iteration for datetime object with cron like format

Project description

Simple example of usage is followings

>>> from croniter import croniter
>>> from datetime import datetime
>>> base = datetime(2010, 1, 25, 4, 46)
>>> iter = croniter('*/5 * * * *', base)  # every 5 minites
>>> print iter.get_next(datetime)   # 2010-01-25 04:50:00
>>> print iter.get_next(datetime)   # 2010-01-25 04:55:00
>>> print iter.get_next(datetime)   # 2010-01-25 05:00:00
>>>
>>> iter = croniter('2 4 * * mon,fri', base)  # 04:02 on every Monday and Friday
>>> print iter.get_next(datetime)   # 2010-01-26 04:02:00
>>> print iter.get_next(datetime)   # 2010-01-30 04:02:00
>>> print iter.get_next(datetime)   # 2010-02-02 04:02:00

All you need to know is constructor and get_next, these signature are following.

>>> def __init__(self, cron_format, start_time=time.time())

croniter iterate along with ‘cron_format’ from ‘start_time’. cron_format is ‘min hour day month day_of_week’, and please refer to http://en.wikipedia.org/wiki/Cron for details.

>>> def get_next(self, ret_type=float)

get_next return next time in iteration with ‘ret_type’. And ret_type accept only ‘float’ or ‘datetime’.

Now, supported get_prev method. (>= 0.2.0)

>>> base = datetime(2010, 8, 25)
>>> itr = croniter('0 0 1 * *', base)
>>> print itr.get_prev(datetime)  # 2010-08-01 00:00:00
>>> print itr.get_prev(datetime)  # 2010-07-01 00:00:00
>>> print itr.get_prev(datetime)  # 2010-06-01 00:00:00

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

croniter-0.2.4.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file croniter-0.2.4.tar.gz.

File metadata

  • Download URL: croniter-0.2.4.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for croniter-0.2.4.tar.gz
Algorithm Hash digest
SHA256 949d5af4d214de3d80944ca28bff7eca979a748d2093aa40a85ef7415b47391b
MD5 5257165c61a57a06e947976156ddac4b
BLAKE2b-256 84a516a9ba322ab7d13eb9bd7fa3320f93b4ccb0ed68aaa33d469a8cf700ee33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page