◾️はじめに
Pythonのcroniterについて調べて、試したので、 記録しておく
目次
【1】croniter 【2】インストール 補足:pyawscron (AWSのCron形式) 【3】サンプル 例1:croniter 【4】Tips 1)UTC形式にする
【1】croniter
* croniter(クロニター) =「cron(クローン)」 + 「iterator(イテレータ)」 * LinuxタスクスケジューラのcronのPythonライブラリ => cronに関しては、以下の関連記事を参照のこと
cron / crontab 〜 入門編 〜
https://dk521123.hatenablog.com/entry/2016/10/25/230650
cron / crontab 〜 基本編 〜
https://dk521123.hatenablog.com/entry/2017/08/20/184005
cron / crontab 〜 あれこれ編 〜
https://dk521123.hatenablog.com/entry/2021/04/01/160946
【2】インストール
pip install croniter
# pip install pytz
補足:pyawscron (AWSのCron形式)
pip install pyawscron
【3】サンプル
例1:croniter
from croniter import croniter from datetime import datetime # ex 2025/10/30 9:00:00 base_time = datetime(2025, 10, 30, 9, 0, 0) # Everyday AM 10:30 cron_expression = '30 10 * * *' iterator = croniter(cron_expression, base_time) # get_next: 次の実行時刻を取得 next_run_dt = iterator.get_next(datetime) print(f"Next date (datetime): {next_run_dt}") # Next date (datetime): 2025-10-30 10:30:00 # get_prev: 前の実行時刻を取得 prev_run_dt = iterator.get_prev(datetime) print(f"Prev date (datetime): {prev_run_dt}") # Prev date (datetime): 2025-10-29 10:30:00
【4】Tips
1)UTC形式にする
* .replace(tzinfo=timezone.utc)で指定
サンプル
from croniter import croniter from datetime import datetime, timezone # get_next: 次の実行時刻を取得 next_run_dt = iterator.get_next(datetime).replace(tzinfo=timezone.utc) print(f"Next date (datetime): {next_run_dt}") # Next date (datetime): 2025-10-30 10:30:00+00:00
参考文献
https://omomuki-tech.com/archives/1413
https://dev.classmethod.jp/articles/python-cron/
https://qiita.com/QUANON/items/7894ac327863e231dbd1
関連記事
Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242
Python ~ 基本編 / 日付・日時 ~
https://dk521123.hatenablog.com/entry/2019/10/14/121909
Python ~ 基本編 / 日付・日時あれこれ ~
https://dk521123.hatenablog.com/entry/2022/02/01/000000
cron / crontab 〜 入門編 〜
https://dk521123.hatenablog.com/entry/2016/10/25/230650
cron / crontab 〜 基本編 〜
https://dk521123.hatenablog.com/entry/2017/08/20/184005
cron / crontab 〜 あれこれ編 〜
https://dk521123.hatenablog.com/entry/2021/04/01/160946