Crate cron_clock[][src]

A cron expression parser and schedule explorer.

In addition to the regular expressions, you can also use the following shortcut expressions with Schedule::from_str, such as @yearly @monthly @weekly @daily @hourly @minutely @secondly, make cron- Expression Iterator.

Example

extern crate chrono;
extern crate cron_clock;

use cron_clock::Schedule;
use chrono::Utc;
use std::str::FromStr;

fn main() {
  //               sec  min   hour   day of month   month   day of week   year
  let expression = "0   30   9,12,15     1,15       May-Aug  Mon,Wed,Fri  2018/2";
  let schedule = Schedule::from_str(expression).unwrap();
  println!("Upcoming fire times:");
  for datetime in schedule.upcoming(Utc).take(10) {
    println!("-> {}", datetime);
  }
}

/*
Upcoming fire times:
-> 2018-06-01 09:30:00 UTC
-> 2018-06-01 12:30:00 UTC
-> 2018-06-01 15:30:00 UTC
-> 2018-06-15 09:30:00 UTC
-> 2018-06-15 12:30:00 UTC
-> 2018-06-15 15:30:00 UTC
-> 2018-08-01 09:30:00 UTC
-> 2018-08-01 12:30:00 UTC
-> 2018-08-01 15:30:00 UTC
-> 2018-08-15 09:30:00 UTC
*/

Structs

FixedOffset

The time zone with fixed offset, from UTC-23:59:59 to UTC+23:59:59.

Local

The local timescale. This is implemented via the standard time crate.

Schedule
ScheduleIterator
ScheduleIteratorOwned
Utc

The UTC time zone. This is the most efficient time zone when you don't need the local time. It is also used as an offset (which is also a dummy type).

Traits

TimeUnitSpec

Methods exposing a schedule's configured ordinals for each individual unit of time.

TimeZone

The time zone.