Austin Group Defect Tracker

Aardvark Mark III


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0001252 [1003.1(2016)/Issue7+TC2] Base Definitions and Headers Objection Enhancement Request 2019-06-02 21:37 2019-06-02 22:12
Reporter eggert View Status public  
Assigned To
Priority normal Resolution Open  
Status New  
Name Paul Eggert
Organization UCLA
User Reference
Section 8.3 Other Environment Variables - TZ
Page Number 180
Line Number 5945-5946
Interp Status ---
Final Accepted Text
Summary 0001252: Extend TZ to allow times outside 00-24 range, permanent DST
Description The tzdb project is a widely-used extension to POSIX, and represents the history of a time zone partly via a final POSIX TZ string representing future timestamps. For example, on my Ubuntu system, the TZif file /usr/share/zoneinfo/America/Los_Angeles ends in the line 'PST8PDT,M3.2.0,M11.1.0', which means that one can use TZ='PST8PDT,M3.2.0,M11.1.0' to predict future timestamps. The tzdb project is widely supported and the format of its TZif files has recently been standardized by Internet RFC 8536 <https://tools.ietf.org/html/rfc8536>. [^]

While coauthoring RFC 8536 I noticed that tzdb's use of TZ strings relies on two minor extensions to POSIX's specification of TZ. These extensions were already supported by at least the reference tzcode implementation and by NetBSD, and so are good candidates for standardization by POSIX. Adding them to POSIX will bless the commonly used practice of taking the last line of a TZif file and using it as a TZ string on small platforms that lack room to store the TZif files.

The two minor extensions are specified in Internet RFC 8536 section 3.3.1 "TZ String Extensions" <https://tools.ietf.org/html/rfc8536#page-13>, [^] and the proposed action is to add these to POSIX.

This proposal would address Austin Group issue 0000661 "grammar of TZ variable is insufficient for describing Israel Daylight-saving time", as TZ='IST-2IDT,M3.4.4/26,M10.5.0' represents current rules for Israel, with the '/26' exercising the proposed extension. It would also let POSIX TZ strings represent the current daylight-saving scheme for Godthab, via TZ='<-03>3<-02>,M3.5.0/-2,M10.5.0/-1' where the '/-2' and '/-1' exercise the proposed extension.
Desired Action In the description of the TZ rule, change from:

The /time/ has the same format as /offset/ except that no leading sign ('-' or '+') is allowed.

to:

The /time/ has the same format as /offset/ except that the hour can range from zero to 167. If preceded by a '-', the /time/ shall count backwards before midnight. For example, '47:30' stands for 23:30 the next day, and '-3:30' stands for 20:30 the previous day.


At the end of the description of the TZ rule, add:

Alternative time is in effect all year if it starts January 1 at 00:00 and ends December 31 at 24:00 plus the difference between daylight saving and standard time, leaving no room for standard time in the calendar. For example, TZ='EST5EDT,0/0,J365/25' represents a time zone that observes alternative time all year, being 4 hours west of UTC with abbreviation "EDT".
Tags No tags attached.
Attached Files

- Relationships
related to 0000661Under Reviewajosey 1003.1(2008)/Issue 7 gramar of TZ variable is insufficient for describing Israel Daylight-saving time 

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2019-06-02 21:37 eggert New Issue
2019-06-02 21:37 eggert Name => Paul Eggert
2019-06-02 21:37 eggert Organization => UCLA
2019-06-02 21:37 eggert Section => 8.3 Other Environment Variables - TZ
2019-06-02 21:37 eggert Page Number => unknown; don't have PDF
2019-06-02 21:37 eggert Line Number => unknown; don't have PDF
2019-06-02 21:56 Don Cragun Relationship added related to 0000661
2019-06-02 22:12 Don Cragun Page Number unknown; don't have PDF => 180
2019-06-02 22:12 Don Cragun Line Number unknown; don't have PDF => 5945-5946
2019-06-02 22:12 Don Cragun Interp Status => ---


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker