diff --git a/src/offset/local/unix.rs b/src/offset/local/unix.rs index 6cd51cb668..b4d05a8e8e 100644 --- a/src/offset/local/unix.rs +++ b/src/offset/local/unix.rs @@ -189,6 +189,16 @@ impl CachedTzInfo { const ZONE_INFO_DIRECTORIES: [&str; 4] = ["/usr/share/zoneinfo", "/share/zoneinfo", "/etc/zoneinfo", "/usr/share/lib/zoneinfo"]; + // Use the value of the `TZDIR` environment variable if set. + if let Some(tz_dir) = env::var_os("TZDIR") { + if !tz_dir.is_empty() { + let path = PathBuf::from(tz_dir); + if path.exists() { + return Ok(path); + } + } + } + for dir in &ZONE_INFO_DIRECTORIES { let path = PathBuf::from(dir); if path.exists() {