I am not observing either problem on Fedora 26, which currently uses tzdb 2017b and Perl 5.24.3. I ran the following shell commands. Please try them on your platform. If they work for you, can you give examples of similar shell commands that fail for you? $ TZ=Asia/Manila date Wed NovĀ 1 01:52:50 +08 2017 $ TZ=Asia/Manila perl -E'use DateTime; say DateTime->now(time_zone=>"local")->strftime("%Y-%m-%d %H:%M:%S %z (%Z)");' 2017-11-01 01:53:22 +0800 (+08) $ perl -E'use DateTime; say DateTime->VERSION;' 1.43 $ perl -E'use DateTime; say DateTime::TimeZone->VERSION;' 2.13 If I change "local" to "floating", I get symptoms similar to what you report: $ TZ=Asia/Manila perl -E'use DateTime; say DateTime->now(time_zone=>"floating")->strftime("%Y-%m-%d %H:%M:%S %z (%Z)");' 2017-10-31 17:57:03 +0000 (floating) However, this is what "floating" is supposed to do, and it does the same thing if TZ="America/Los_Angeles".