tzset/_r POSIX tz abbr angle bracket <> support testing
Brian Inglis
Brian.Inglis@SystematicSw.ab.ca
Tue Apr 5 04:13:42 GMT 2022
Hi folks,
Finally submitted a patch I believe should be close to acceptable.
Attached are a test program kludged to build and run under Cygwin, and a
shell script to run it, to test against all the unique POSIX fallback
rules added as a line at the end of each of the /usr/share/zoneinfo/
files, and the result log from the test run dumping the input and
internal tz data structures.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
-------------- next part --------------
#include <reent.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/_tz_structs.h>
#include "local.h"
char *
_getenv_r( struct _reent *r, const char *var)
{
return getenv(var);
}
int siscanf(const char *str, const char *fmt, ...)
{
va_list ap;
va_start(ap,fmt);
int rc = vsscanf(str, fmt, ap);
va_end(ap);
return rc;
}
int
main(void)
{
__tzinfo_type *tz = __gettzinfo ();
tzset();
printf("TZ='%s'\n"
"std '%s'\tdst '%s'\ttz %ld\tdl %d\tn %d\ty %d\n"
"std c '%c'\tm %d\tn %d\td %d\ts %d\to %ld\ttt %ld\n"
"dst c '%c'\tm %d\tn %d\td %d\ts %d\to %ld\ttt %ld\n\n",
getenv("TZ"),
_tzname[0], _tzname[1], _timezone, _daylight,
tz->__tznorth, tz->__tzyear,
tz->__tzrule[0].ch,
tz->__tzrule[0].m, tz->__tzrule[0].n, tz->__tzrule[0].d,
tz->__tzrule[0].s, tz->__tzrule[0].offset,
tz->__tzrule[0].change,
tz->__tzrule[1].ch,
tz->__tzrule[1].m, tz->__tzrule[1].n, tz->__tzrule[1].d,
tz->__tzrule[1].s, tz->__tzrule[1].offset,
tz->__tzrule[1].change);
}
-------------- next part --------------
#!/bin/sh
# tzset_t.sh - test tzset/_r POSIX string support changes
gcc -D__SINGLE_THREAD__=1 -o tzset_t tzset_t.c tzset.c tzset_r.c tzcalc_limits.c tzvars.c gettzinfo.c tzlock.c month_lengths.c
# test against fallback POSIX rule in line at end of most zoneinfo files
# skip lines in non-zoneinfo files with spaces and skip duplicate rules
find /usr/share/zoneinfo/ ! -type d | \
xargs tail -qn1 | \
grep -v '\s' | \
sort -u | \
while read TZ
do
TZ=$TZ ./tzset_t
done > tzset_t.log
-------------- next part --------------
TZ=''
std ' ' dst ' ' tz 0 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+00>0<+02>-2,M3.5.0/1,M10.5.0/3'
std '+00' dst '+02' tz 0 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 3600 o 0 tt 0
dst c 'M' m 10 n 5 d 0 s 10800 o -7200 tt 0
TZ='<+01>-1'
std '+01' dst '+01' tz -3600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -3600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+02>-2'
std '+02' dst '+02' tz -7200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -7200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+03>-3'
std '+03' dst '+03' tz -10800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -10800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0330>-3:30<+0430>,J79/24,J263/24'
std '+0330' dst '+0430' tz -12600 dl 1 n 1 y 0
std c 'J' m 0 n 0 d 79 s 86400 o -12600 tt 0
dst c 'J' m 0 n 0 d 263 s 86400 o -16200 tt 0
TZ='<+04>-4'
std '+04' dst '+04' tz -14400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -14400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0430>-4:30'
std '+0430' dst '+0430' tz -16200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -16200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+05>-5'
std '+05' dst '+05' tz -18000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -18000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0530>-5:30'
std '+0530' dst '+0530' tz -19800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -19800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0545>-5:45'
std '+0545' dst '+0545' tz -20700 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -20700 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+06>-6'
std '+06' dst '+06' tz -21600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -21600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0630>-6:30'
std '+0630' dst '+0630' tz -23400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -23400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+07>-7'
std '+07' dst '+07' tz -25200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -25200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+08>-8'
std '+08' dst '+08' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+0845>-8:45'
std '+0845' dst '+0845' tz -31500 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -31500 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+09>-9'
std '+09' dst '+09' tz -32400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -32400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+10>-10'
std '+10' dst '+10' tz -36000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -36000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+1030>-10:30<+11>-11,M10.1.0,M4.1.0'
std '+1030' dst '+11' tz -37800 dl 1 n 1 y 0
std c 'M' m 10 n 1 d 0 s 7200 o -37800 tt 0
dst c 'M' m 4 n 1 d 0 s 7200 o -39600 tt 0
TZ='<+11>-11'
std '+11' dst '+11' tz -39600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -39600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+11>-11<+12>,M10.1.0,M4.1.0/3'
std '+11' dst '+12' tz -39600 dl 1 n 1 y 0
std c 'M' m 10 n 1 d 0 s 7200 o -39600 tt 0
dst c 'M' m 4 n 1 d 0 s 10800 o -43200 tt 0
TZ='<+12>-12'
std '+12' dst '+12' tz -43200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -43200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+12>-12<+13>,M11.2.0,M1.2.3/99'
std '+12' dst '+13' tz -43200 dl 1 n 1 y 0
std c 'M' m 11 n 2 d 0 s 7200 o -43200 tt 0
dst c 'M' m 1 n 2 d 3 s 356400 o -46800 tt 0
TZ='<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45'
std '+1245' dst '+1345' tz -45900 dl 1 n 1 y 0
std c 'M' m 9 n 5 d 0 s 9900 o -45900 tt 0
dst c 'M' m 4 n 1 d 0 s 13500 o -49500 tt 0
TZ='<+13>-13'
std '+13' dst '+13' tz -46800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -46800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<+14>-14'
std '+14' dst '+14' tz -50400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -50400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-00>0'
std '-00' dst '-00' tz 0 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-01>1'
std '-01' dst '-01' tz 3600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 3600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-01>1<+00>,M3.5.0/0,M10.5.0/1'
std '-01' dst '+00' tz 3600 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 0 o 3600 tt 0
dst c 'M' m 10 n 5 d 0 s 3600 o 0 tt 0
TZ='<-02>2'
std '-02' dst '-02' tz 7200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 7200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-03>3'
std '-03' dst '-03' tz 10800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 10800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-03>3<-02>,M3.2.0,M11.1.0'
std '-03' dst '-02' tz 10800 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 10800 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 7200 tt 0
TZ='<-03>3<-02>,M3.5.0/-2,M10.5.0/-1'
std '-03' dst '-02' tz 10800 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 235922400 o 10800 tt 0
dst c 'M' m 10 n 5 d 0 s 235926000 o 7200 tt 0
TZ='<-04>4'
std '-04' dst '-04' tz 14400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 14400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-04>4<-03>,M10.1.0/0,M3.4.0/0'
std '-04' dst '-03' tz 14400 dl 1 n 1 y 0
std c 'M' m 10 n 1 d 0 s 0 o 14400 tt 0
dst c 'M' m 3 n 4 d 0 s 0 o 10800 tt 0
TZ='<-04>4<-03>,M9.1.6/24,M4.1.6/24'
std '-04' dst '-03' tz 14400 dl 1 n 1 y 0
std c 'M' m 9 n 1 d 6 s 86400 o 14400 tt 0
dst c 'M' m 4 n 1 d 6 s 86400 o 10800 tt 0
TZ='<-05>5'
std '-05' dst '-05' tz 18000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 18000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-06>6'
std '-06' dst '-06' tz 21600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 21600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-06>6<-05>,M9.1.6/22,M4.1.6/22'
std '-06' dst '-05' tz 21600 dl 1 n 1 y 0
std c 'M' m 9 n 1 d 6 s 79200 o 21600 tt 0
dst c 'M' m 4 n 1 d 6 s 79200 o 18000 tt 0
TZ='<-07>7'
std '-07' dst '-07' tz 25200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 25200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-08>8'
std '-08' dst '-08' tz 28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-09>9'
std '-09' dst '-09' tz 32400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 32400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-0930>9:30'
std '-0930' dst '-0930' tz 34200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 34200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-10>10'
std '-10' dst '-10' tz 36000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 36000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-11>11'
std '-11' dst '-11' tz 39600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 39600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='<-12>12'
std '-12' dst '-12' tz 43200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 43200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='ACST-9:30'
std 'ACST' dst 'ACST' tz -34200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -34200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='ACST-9:30ACDT,M10.1.0,M4.1.0/3'
std 'ACST' dst 'ACDT' tz -34200 dl 1 n 1 y 0
std c 'M' m 10 n 1 d 0 s 7200 o -34200 tt 0
dst c 'M' m 4 n 1 d 0 s 10800 o -37800 tt 0
TZ='AEST-10'
std 'AEST' dst 'AEST' tz -36000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -36000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='AEST-10AEDT,M10.1.0,M4.1.0/3'
std 'AEST' dst 'AEDT' tz -36000 dl 1 n 1 y 0
std c 'M' m 10 n 1 d 0 s 7200 o -36000 tt 0
dst c 'M' m 4 n 1 d 0 s 10800 o -39600 tt 0
TZ='AKST9AKDT,M3.2.0,M11.1.0'
std 'AKST' dst 'AKDT' tz 32400 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 32400 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 28800 tt 0
TZ='AST4'
std 'AST' dst 'AST' tz 14400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 14400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='AST4ADT,M3.2.0,M11.1.0'
std 'AST' dst 'ADT' tz 14400 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 14400 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 10800 tt 0
TZ='AWST-8'
std 'AWST' dst 'AWST' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='CAT-2'
std 'CAT' dst 'CAT' tz -7200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -7200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='CET-1'
std 'CET' dst 'CET' tz -3600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -3600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='CET-1CEST,M3.5.0,M10.5.0/3'
std 'CET' dst 'CEST' tz -3600 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 7200 o -3600 tt 0
dst c 'M' m 10 n 5 d 0 s 10800 o -7200 tt 0
TZ='ChST-10'
std 'ChST' dst 'ChST' tz -36000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -36000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='CST5CDT,M3.2.0/0,M11.1.0/1'
std 'CST' dst 'CDT' tz 18000 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 0 o 18000 tt 0
dst c 'M' m 11 n 1 d 0 s 3600 o 14400 tt 0
TZ='CST6'
std 'CST' dst 'CST' tz 21600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 21600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='CST6CDT,M3.2.0,M11.1.0'
std 'CST' dst 'CDT' tz 21600 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 21600 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 18000 tt 0
TZ='CST6CDT,M4.1.0,M10.5.0'
std 'CST' dst 'CDT' tz 21600 dl 1 n 1 y 0
std c 'M' m 4 n 1 d 0 s 7200 o 21600 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o 18000 tt 0
TZ='CST-8'
std 'CST' dst 'CST' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='EAT-3'
std 'EAT' dst 'EAT' tz -10800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -10800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='EET-2'
std 'EET' dst 'EET' tz -7200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -7200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='EET-2EEST,M2.5.4/24,M10.5.5/1'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 2 n 5 d 4 s 86400 o -7200 tt 0
dst c 'M' m 10 n 5 d 5 s 3600 o -10800 tt 0
TZ='EET-2EEST,M3.4.4/72,M10.4.4/25'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 4 d 4 s 259200 o -7200 tt 0
dst c 'M' m 10 n 4 d 4 s 90000 o -10800 tt 0
TZ='EET-2EEST,M3.5.0,M10.5.0/3'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 7200 o -7200 tt 0
dst c 'M' m 10 n 5 d 0 s 10800 o -10800 tt 0
TZ='EET-2EEST,M3.5.0/0,M10.5.0/0'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 0 o -7200 tt 0
dst c 'M' m 10 n 5 d 0 s 0 o -10800 tt 0
TZ='EET-2EEST,M3.5.0/3,M10.5.0/4'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 10800 o -7200 tt 0
dst c 'M' m 10 n 5 d 0 s 14400 o -10800 tt 0
TZ='EET-2EEST,M3.5.5/0,M10.5.5/0'
std 'EET' dst 'EEST' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 5 s 0 o -7200 tt 0
dst c 'M' m 10 n 5 d 5 s 0 o -10800 tt 0
TZ='EST5'
std 'EST' dst 'EST' tz 18000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 18000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='EST5EDT,M3.2.0,M11.1.0'
std 'EST' dst 'EDT' tz 18000 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 18000 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 14400 tt 0
TZ='GMT0'
std 'GMT' dst 'GMT' tz 0 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='GMT0BST,M3.5.0/1,M10.5.0'
std 'GMT' dst 'BST' tz 0 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 3600 o 0 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o -3600 tt 0
TZ='GMT0IST,M3.5.0/1,M10.5.0'
std 'GMT' dst 'IST' tz 0 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 3600 o 0 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o -3600 tt 0
TZ='HKT-8'
std 'HKT' dst 'HKT' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='HST10'
std 'HST' dst 'HST' tz 36000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 36000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='HST10HDT,M3.2.0,M11.1.0'
std 'HST' dst 'HDT' tz 36000 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 36000 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 32400 tt 0
TZ='IST-2IDT,M3.4.4/26,M10.5.0'
std 'IST' dst 'IDT' tz -7200 dl 1 n 1 y 0
std c 'M' m 3 n 4 d 4 s 93600 o -7200 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o -10800 tt 0
TZ='IST-5:30'
std 'IST' dst 'IST' tz -19800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -19800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='JST-9'
std 'JST' dst 'JST' tz -32400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -32400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='KST-9'
std 'KST' dst 'KST' tz -32400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -32400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='MET-1MEST,M3.5.0,M10.5.0/3'
std 'MET' dst 'MEST' tz -3600 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 7200 o -3600 tt 0
dst c 'M' m 10 n 5 d 0 s 10800 o -7200 tt 0
TZ='MSK-3'
std 'MSK' dst 'MSK' tz -10800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -10800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='MST7'
std 'MST' dst 'MST' tz 25200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 25200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='MST7MDT,M3.2.0,M11.1.0'
std 'MST' dst 'MDT' tz 25200 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 25200 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 21600 tt 0
TZ='MST7MDT,M4.1.0,M10.5.0'
std 'MST' dst 'MDT' tz 25200 dl 1 n 1 y 0
std c 'M' m 4 n 1 d 0 s 7200 o 25200 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o 21600 tt 0
TZ='NST3:30NDT,M3.2.0,M11.1.0'
std 'NST' dst 'NDT' tz 12600 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 12600 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 9000 tt 0
TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'
std 'NZST' dst 'NZDT' tz -43200 dl 1 n 1 y 0
std c 'M' m 9 n 5 d 0 s 7200 o -43200 tt 0
dst c 'M' m 4 n 1 d 0 s 10800 o -46800 tt 0
TZ='PKT-5'
std 'PKT' dst 'PKT' tz -18000 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -18000 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='PST-8'
std 'PST' dst 'PST' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='PST8PDT,M3.2.0,M11.1.0'
std 'PST' dst 'PDT' tz 28800 dl 1 n 1 y 0
std c 'M' m 3 n 2 d 0 s 7200 o 28800 tt 0
dst c 'M' m 11 n 1 d 0 s 7200 o 25200 tt 0
TZ='PST8PDT,M4.1.0,M10.5.0'
std 'PST' dst 'PDT' tz 28800 dl 1 n 1 y 0
std c 'M' m 4 n 1 d 0 s 7200 o 28800 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o 25200 tt 0
TZ='SAST-2'
std 'SAST' dst 'SAST' tz -7200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -7200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='SST11'
std 'SST' dst 'SST' tz 39600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 39600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='UTC0'
std 'UTC' dst 'UTC' tz 0 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='WAT-1'
std 'WAT' dst 'WAT' tz -3600 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -3600 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='WET0WEST,M3.5.0/1,M10.5.0'
std 'WET' dst 'WEST' tz 0 dl 1 n 1 y 0
std c 'M' m 3 n 5 d 0 s 3600 o 0 tt 0
dst c 'M' m 10 n 5 d 0 s 7200 o -3600 tt 0
TZ='WIB-7'
std 'WIB' dst 'WIB' tz -25200 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -25200 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='WIT-9'
std 'WIT' dst 'WIT' tz -32400 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -32400 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='WITA-8'
std 'WITA' dst 'WITA' tz -28800 dl 0 n 1 y 0
std c 'J' m 0 n 0 d 0 s 0 o -28800 tt 0
dst c 'J' m 0 n 0 d 0 s 0 o 0 tt 0
TZ='XXX-0:40<+01>-0:20,0/0,J365/23:40'
std 'XXX' dst '+01' tz -2400 dl 1 n 1 y 0
std c 'D' m 0 n 0 d 0 s 0 o -2400 tt 0
dst c 'J' m 0 n 0 d 365 s 85200 o -1200 tt 0
More information about the Newlib
mailing list