public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* tzset/_r POSIX tz abbr angle bracket <> support testing
@ 2022-04-05  4:13 Brian Inglis
  0 siblings, 0 replies; only message in thread
From: Brian Inglis @ 2022-04-05  4:13 UTC (permalink / raw)
  To: Newlib

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

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.]

[-- Attachment #2: tzset_t.c --]
[-- Type: text/plain, Size: 1111 bytes --]

#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);
}


[-- Attachment #3: tzset_t.sh --]
[-- Type: text/plain, Size: 499 bytes --]

#!/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


[-- Attachment #4: tzset_t.log --]
[-- Type: text/plain, Size: 14706 bytes --]

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-05  4:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-05  4:13 tzset/_r POSIX tz abbr angle bracket <> support testing Brian Inglis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).