From Bugzilla Helper: User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.9-21 i686) Description of problem: If the period of Daylight Savings Time (DST) is defined in the environment variable TZ (format per 'man tzset') for a locality in the Southern Hemisphere (where the seasons are reversed), Linux ignores the part of DST between Jan 1st and the resumption of Standard Time (usually occurring in the March-April timeframe). Version-Release number of selected component (if applicable): glibc-2.2.4-19.3 How reproducible: Always Steps to Reproduce: 1. Export TZ with DST definition for a locality in the Southern Hemisphere, e.g., for Australia/NSW: "export TZ=AST-10ADT,M10.5.0/2,M3.5.0/3". 2. Set the Linux clock to various dates throughout the year -or- use the mktime() function in a C program to simulate such dates. 3. Run the 'date' command at the command line -or- use a simple C program to report the simulated dates. (A test program will be attached.) Actual Results: Dates between Jan 1st and (for this example) the last Sunday in October are reported as being in Standard Time. Dates between the last Sunday in October and Dec 31st are reported as being in DST. Expected Results: Dates between Jan 1st and the last Sunday in March should also be reported as being in DST. Additional info: The same problem exists for DST definitions in TZ anywhere in the world in the Southern Hemisphere. TZif files work correctly, whether used from /etc/localtime or defined in TZ, e.g., "export TZ=:Australia/NSW". (Note however that the timezone abbreviations for Australia in the TZif files are EST for both Standard and Daylight Times.)
Created attachment 47500 [details] Contains a shell script "tz_test" and source code "show_zones.c".
http://sources.redhat.com/ml/libc-hacker/2002-03/msg00027.html
Fixed in glibc-2.2.4-24.