Skip to content

Releases: mbtaylor1982/tzdb

1.8.2018e

11 Sep 12:15
Compare
Choose a tag to compare

Delphi TZDB 2018e Update

Summary

This update is mainly to restore compatibility with older versions of Delphi and bring the TZDB up to date with the current release from the IANA.

I've also updated the list of Windows timezone alias's recognised by the library, the source data for this was the CLDR (v33.1) mapping list.

Bug Fixes

  • Fixed an access violation in TBundledTimeZone.Destroy, code not checking if FPeriods was NIL before freeing it or the items it owned. This could happen when the TZID passed in the constructor was invalid.

Enhancements

  • Added SupportsGenerics IFDEF to restore compatibility with Delphi versions 6 - 2007.

Updates

  • Updated to TZDB 2018e (Release Notes below)
  • Updated to CLDR 33.1 for Windows TZ alias's

[tz-announce] 2018e release of tz code and data available

The 2018e release of the tz code and data is available. It reflects the
following changes, which were either circulated on the tz mailing list
or are relatively minor technical or administrative changes:

Briefly

North Korea switches back to +09 on 2018-05-05.
The main format uses negative DST again, for Ireland etc.
'make tarballs' now also builds a rearguard tarball.
New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.

Changes to past and future time stamps

North Korea switches back from +0830 to +09 on 2018-05-05.
(Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
and Tim Parenti.)

Bring back the negative-DST changes of 2018a, except be more
compatible with data parsers that do not support negative DST.
Also, this now affects historical time stamps in Namibia and the
former Czechoslovakia, not just Ireland.  The main format now uses
negative DST to model time stamps in Europe/Dublin (from 1971 on),
Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
does not affect UT offsets, only time zone abbreviations and the
tm_isdst flag.  Also, this does not affect rearguard or vanguard
formats; effectively the main format now uses vanguard instead of
rearguard format.  Data parsers that do not support negative DST
can still use data from the rearguard tarball described below.

Changes to build procedure

The command 'make tarballs' now also builds the tarball
tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
except that it uses rearguard format intended for trailing-edge
data parsers.

Changes to data format and to code

The SAVE column of Rule and Zone lines can now have an 's' or 'd'
suffix, which specifies whether the adjusted time is standard time
or daylight saving time.  If no suffix is given, daylight saving
time is used if and only if the SAVE column is nonzero; this is
the longstanding behavior.  Although this new feature is not used
in tzdata, it could be used to specify the legal time in Namibia
1994-2017, as opposed to the popular time (see below).

Changes to past time stamps

From 1994 through 2017 Namibia observed DST in winter, not summer.
That is, it used negative DST, as Ireland still does.  This change
does not affect UTC offsets; it affects only the tm_isdst flag and
the abbreviation used during summer, which is now CAT, not WAST.
Although (as noted by Michael Deckers) summer and winter time were
both simply called "standard time" in Namibian law, in common
practice winter time was considered to be DST (as noted by Stephen
Colebourne).  The full effect of this change is only in vanguard
format; in rearguard and main format, the tm_isdst flag is still
zero in winter and nonzero in summer.

In 1946/7 Czechoslovakia also observed negative DST in winter.
The full effect of this change is only in vanguard format; in
rearguard and main formats, it is modeled as plain GMT without
daylight saving.  Also, the dates of some 1944/5 DST transitions
in Czechoslovakia have been changed.

1.82.2018c

13 Mar 19:01
Compare
Choose a tag to compare
1.82.2018c Pre-release
Pre-release

Added New Functions to the TBundledTimeZone class

  • OperatesDayligtTime - Return True if the timezone is operating Daylight time for the specified year
  • DaylightTimeStart - Returns the start time of daylight time in timezone local time for the specified year
  • DaylightTimeEnd - Returns the end time of daylight time in timezone local time for the specified year
  • StardardTimeStart - Returns the start time of standard time in timezone local time for the specified year
  • StandardTimeEnd - Returns the end time of standard time in timezone local time for the specified year
  • InvalidTimeStart - Returns the start time of Invalid time in timezone local time for the specified year
  • InvalidTimeEnd - Returns the end time of Invalid time in timezone local time for the specified year
  • AmbiguousTimeStart - Returns the Start time of Ambiguous in timezone local time for the specified year
  • AmbiguousTimeEnd - Returns the end time of Ambiguous in timezone local time for the specified year
  • ToISO8601Str - Returns the ISO8601 date time string that corresponds to the passed UTC time.

fixed Issues
#1 Test_Africa_Cairo_2010: ETestFailure
#2 Test_Africa_Cairo_2009: ETestFailure
#3 Test_Africa_Accra_1997: ETestFailure
#4 Test_America_Araguaina_1950: ETestFailure
#5 Test_Etc_GTM12_2010: ETestFailure
#6 Test_Etc_GTMMin9_1991: ETestFailure
#9 Bug with DST for America/St_Johns and possibly others 9028f34

Other

Fixed a bug where GetDisplayName was returning the both the std and dst name separated with a slash if it was '/' separated in the zone FOTMAT column in the TZDB files.

Commit bc288b7

FROM IANA TZDB:

The FORMAT column specifies the usual abbreviation of the time zone name. It can have one of three forms:

  • a string of three or more characters that are either ASCII alphanumerics, “+”, or “-”, in which case that’s the abbreviation
  • a pair of strings separated by a slash (‘/’), in which case the first string is the abbreviation for the standard time name and the second string is the abbreviation for the daylight saving time name
  • a string containing “%s,” in which case the “%s” will be replaced by the text in the appropriate Rule’s LETTER col