| Crates.io | utcize |
| lib.rs | utcize |
| version | 0.1.0 |
| created_at | 2025-05-31 04:39:14.339784+00 |
| updated_at | 2025-05-31 04:39:14.339784+00 |
| description | Normalize any datetime input to UTC. Automatically. |
| homepage | |
| repository | https://github.com/jerry-maheswara-github/utcize |
| max_upload_size | |
| id | 1696039 |
| size | 48,134 |
Normalize any datetime input to UTC. Automatically.
utcize is a lightweight Rust library for normalizing various datetime inputs into
a DateTime<Utc> using the chrono crate.
dd-mm-yyyy) and US-style (mm-dd-yyyy) formats.+07:00, -0800) and IANA timezones (e.g., Asia/Jakarta, Europe/Berlin). use utcize::datetime::utcize;
let dt = utcize::<&str>("2023-06-01 10:00:00", "Asia/Jakarta", false, None).unwrap();
assert_eq!(dt.to_rfc3339(), "2023-06-01T03:00:00+00:00");
let res = utcize::<&str>("2023-06-01 10:00:00", "+07:00", false, None).unwrap();
assert_eq!(res.to_rfc3339(), "2023-06-01T03:00:00+00:00");
let dt = utcize::<&str>("01-06-2023 10:00:00", "Europe/Paris", true, None).unwrap();
assert_eq!(dt.to_rfc3339(), "2023-06-01T08:00:00+00:00");
let custom_format = ["%Y|%m|%d %H:%M", "%d.%B.%Y %H:%M"];
let dt = utcize("2023|06|01 10:00", "Asia/Jakarta", false, Some(&custom_format)).unwrap();
assert_eq!(dt.to_rfc3339(), "2023-06-01T03:00:00+00:00");
let dt = utcize("2023|06|01 10:00", "+07:00", false, Some(&custom_format)).unwrap();
assert_eq!(dt.to_rfc3339(), "2023-06-01T03:00:00+00:00");
let dt = utcize("01.June.2023 10:00", "Europe/Berlin", true, Some(&custom_format)).unwrap();
assert_eq!(dt.to_rfc3339(), "2023-06-01T08:00:00+00:00")