Crates.io | chrono-utilities |
lib.rs | chrono-utilities |
version | 0.0.0-alpha1 |
source | src |
created_at | 2020-04-24 08:40:20.275822 |
updated_at | 2020-04-24 08:40:20.275822 |
description | Utility functions to manipulate chrono dates |
homepage | https://github.com/liquidscorpio/chrono-utils |
repository | https://github.com/liquidscorpio/chrono-utils |
max_upload_size | |
id | 233594 |
size | 38,093 |
Provides utility functions to manipulate chrono dates. Only NaiveDate is supported as of now. Support for naive and timezone aware DateTime coming soon.
The crate provides the following:
Transition APIs
Transition a chrono struct into a future or previous date using standardised methods
like start_of_pred_iso8601_week()
which provides the date on which the previous week
starts. Such functions are provided for week, month and year.
Feature | Status |
---|---|
Transition APIs for NaiveDate | ✓ |
Transition APIs for Aware Dates | 𐄂 |
Transition APIs for NaiveDateTime | 𐄂 |
Transition APIs for Aware DateTime | 𐄂 |
use chrono::NaiveDate;
use chrono_utils::naive::DateTransitions;
let d = NaiveDate::from_ymd(2019, 3, 31);
assert_eq!(d.start_of_succ_year().unwrap(), NaiveDate::from_ymd(2020, 1, 1));
let d1 = NaiveDate::from_ymd(1996, 2, 23);
assert_eq!(d1.last_day_of_month(), 29);
let d2 = NaiveDate::from_ymd(1999, 10, 17);
assert_eq!(d2.start_of_pred_iso8601_week().unwrap(), NaiveDate::from_ymd(1999, 10, 4));
Dual licensed under Apache 2.0 and MIT. (Same as Rust and chrono.)