diff --git a/Cargo.toml b/Cargo.toml index ed9971d95..2828c00df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ # coreutils (uutils) # * see the repository LICENSE, README, and CONTRIBUTING files for more information -# spell-checker:ignore (libs) libselinux gethostid procfs bigdecimal kqueue fundu mangen datetime uuhelp memmap +# spell-checker:ignore (libs) bigdecimal datetime fundu gethostid kqueue libselinux mangen memmap procfs uuhelp [package] name = "coreutils" diff --git a/src/uu/touch/Cargo.toml b/src/uu/touch/Cargo.toml index f90725197..4e27027a2 100644 --- a/src/uu/touch/Cargo.toml +++ b/src/uu/touch/Cargo.toml @@ -1,4 +1,4 @@ -# spell-checker:ignore humantime +# spell-checker:ignore datetime [package] name = "uu_touch" version = "0.0.19" @@ -18,8 +18,7 @@ path = "src/touch.rs" [dependencies] filetime = { workspace = true } clap = { workspace = true } -# TODO: use workspace dependency (0.3) when switching from time to chrono -humantime_to_duration = "0.2.1" +parse_datetime = { workspace = true } time = { workspace = true, features = [ "parsing", "formatting", diff --git a/src/uu/touch/src/touch.rs b/src/uu/touch/src/touch.rs index 4efea56c4..d3d4a08c5 100644 --- a/src/uu/touch/src/touch.rs +++ b/src/uu/touch/src/touch.rs @@ -84,7 +84,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { ) { (Some(reference), Some(date)) => { let (atime, mtime) = stat(Path::new(reference), !matches.get_flag(options::NO_DEREF))?; - if let Ok(offset) = humantime_to_duration::from_str(date) { + if let Ok(offset) = parse_datetime::from_str(date) { let mut seconds = offset.whole_seconds(); let mut nanos = offset.subsec_nanoseconds(); if nanos < 0 { @@ -445,7 +445,7 @@ fn parse_date(s: &str) -> UResult { } } - if let Ok(duration) = humantime_to_duration::from_str(s) { + if let Ok(duration) = parse_datetime::from_str(s) { let now_local = time::OffsetDateTime::now_local().unwrap(); let diff = now_local.checked_add(duration).unwrap(); return Ok(local_dt_to_filetime(diff));