On 04/18/2013 01:24 PM, Donald Berry wrote: > If an invalid TZ argument is passed to /bin/date, it silently fails but > prints the UTC result: > [dberry@dberry ~]$ TZ=EDT date -d @0 > Thu Jan 1 00:00:00 EDT 1970 > [dberry@dberry ~]$ TZ=foo date -d @0 > Thu Jan 1 00:00:00 foo 1970 > > It works correctly if using no argument or a valid argument: > [dberry@dberry ~]$ date -d @0 > Wed Dec 31 19:00:00 EST 1969 > [dberry@dberry ~]$ TZ=EST5EDT date -d @0 > Wed Dec 31 19:00:00 EST 1969 > [dberry@dberry ~]$ TZ=UTC date -d @0 > Thu Jan 1 00:00:00 UTC 1970 > > [dberry@dberry ~]$ rpm -q coreutils > coreutils-8.4-19.el6.x86_64 > [dberry@dberry ~]$ uname -a > Linux dberry.csb 2.6.32-279.19.1.el6.x86_64 #1 SMP Sat Nov 24 14:35:28 EST > 2012 x86_64 x86_64 x86_64 GNU/Linux > [dberry@dberry ~]$ cat /etc/redhat-release > Red Hat Enterprise Linux Workstation release 6.3 (Santiago) > [dberry@dberry ~]$ date > Thu Apr 18 16:23:46 EDT 2013
This is really annoying and confusing. However as I understand it, there is no interface currently that coreutils can use, to determine that a match wasn't found. All I can recommend is to use location based zone instead which have less scope for mismatches: http://www.pixelbeat.org/docs/linux_timezones/ thanks, Pádraig.