跳转到主要内容

croniter提供了类似于cron格式的datetime对象的迭代功能

项目描述

简介

croniter提供了类似于cron格式的datetime对象的迭代功能。

                      _ _
  ___ _ __ ___  _ __ (_) |_ ___ _ __
 / __| '__/ _ \| '_ \| | __/ _ \ '__|
| (__| | | (_) | | | | | ||  __/ |
 \___|_|  \___/|_| |_|_|\__\___|_|

网站: https://github.com/kiorky/croniter

Travis徽章

https://travis-ci.org/kiorky/croniter.png

用法

使用示例如下

>>> 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

您需要了解构造函数和get_next,这些签名如下

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

croniter从’start_time’开始,根据‘cron_format’进行迭代。cron_format是‘min hour day month day_of_week’,有关详细信息,请参阅http://en.wikipedia.org/wiki/Cron

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

get_next返回迭代中的下一个时间,并带有‘ret_type’。ret_type仅接受‘float’或‘datetime’。

现在,支持get_prev方法。(>= 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

开发此包

git clone https://github.com/kiorky/croniter.git
cd croniter
python bootstrap.py -d
bin/buildout -vvvvvvN
bin/test

创建新版本

我们使用zest.fullreleaser,一个出色的发布基础设施。

遵循以下说明

bin/fullrelease

贡献者

感谢所有为该项目做出贡献的人!如果您做出了贡献但未列在下面,请告知我。

  • mrmachine

  • Hinnack

  • shazow

  • kiorky

  • jlsandell

  • mag009

  • djmitche

  • GreatCombinator

  • chris-baynes

  • ipartola

  • yuzawa-san

变更日志

0.3.12 (未发布)

  • 尚未有任何更改。

0.3.11 (2016-01-13)

  • 错误修复:当使用最后一天标记时,get_prev API崩溃。缺少一些基本逻辑。[Iddo Aviram <iddo.aviram@similarweb.com>]

0.3.10 (2015-11-29)

  • ‘l’作为月份中的天数的功能已损坏,因为月份变量未正确更新 [Iddo Aviram <iddo.aviram@similarweb.com>]

0.3.9 (2015-11-19)

  • 不要使用datetime函数,Python 2.6不支持 [petervtzand]

0.3.8 (2015-06-23)

  • 通过设置为0截断微秒 [Corey Wright]

0.3.7 (2015-06-01)

  • 将范围sun-thu的sun转换为int 0,这被识别为空字符串;解决方案是将sun转换为字符串“0”

0.3.6 (2015-05-29)

  • 修复没有提供start_time时的默认行为。参数start_time的默认值在模块初始化时计算,而不是在调用时。

  • 修复时区支持,并停止依赖于系统时区

0.3.5 (2014-08-01)

  • 支持‘l’(月底最后一天)

0.3.4 (2014-01-30)

  • Python 3兼容

  • 质量保证发布

0.3.3 (2012-09-29)

  • 适当的包装

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

croniter-hpx-0.3.12.dev0.tar.gz (14.1 kB 查看哈希值)

上传时间

支持