diff --git a/src/uu/date/src/date.rs b/src/uu/date/src/date.rs index 24aaf6967..f4d420c3f 100644 --- a/src/uu/date/src/date.rs +++ b/src/uu/date/src/date.rs @@ -277,7 +277,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { // TODO - Revisit when chrono 0.5 is released. https://github.com/chronotope/chrono/issues/970 let tz = match std::env::var("TZ") { // TODO Support other time zones... - Ok(s) if s == "UTC0" => Tz::Etc__UTC, + Ok(s) if s == "UTC0" || s.is_empty() => Tz::Etc__UTC, _ => match get_timezone() { Ok(tz_str) => tz_str.parse().unwrap(), Err(_) => Tz::Etc__UTC, diff --git a/tests/by-util/test_date.rs b/tests/by-util/test_date.rs index d0a9c09a2..ac16fe831 100644 --- a/tests/by-util/test_date.rs +++ b/tests/by-util/test_date.rs @@ -482,3 +482,12 @@ fn test_date_from_stdin() { Sat Apr 15 18:30:00 UTC 2023\n", ); } + +#[test] +fn test_date_empty_tz() { + new_ucmd!() + .env("TZ", "") + .arg("+%Z") + .succeeds() + .stdout_only("UTC\n"); +}