From 7edd045206b89f0a22b88ed0ae9336e361947eb0 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Thu, 16 Jan 2025 09:41:04 +0100 Subject: [PATCH] date: use UTC if TZ is empty --- src/uu/date/src/date.rs | 2 +- tests/by-util/test_date.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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"); +}