-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathlib.rs
51 lines (47 loc) · 1.24 KB
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#![cfg_attr(feature = "clippy", feature(plugin))]
#![cfg_attr(feature = "clippy", plugin(clippy))]
//! A cron expression parser and schedule explorer
//! # Example
//! ```
//! extern crate chrono;
//! extern crate cron;
//!
//! use cron::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
//! */
//! ```
#[cfg(test)]
extern crate chrono_tz;
pub mod error;
mod schedule;
mod time_unit;
mod ordinal;
mod specifier;
mod queries;
mod parsing;
pub use crate::schedule::Schedule;
pub use crate::time_unit::TimeUnitSpec;