From 553ff3853cc351d3dd38f633b62b0fcb947ad466 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Mon, 9 Dec 2024 16:44:28 -0800 Subject: [PATCH 01/10] ZoneProcessor.cpp: update createAbbreviation() to support %z FORMAT --- src/AceTime.h | 1 + src/ace_time/BasicZoneProcessor.h | 3 +- src/ace_time/ExtendedZoneProcessor.h | 1 + src/ace_time/ZoneProcessor.cpp | 33 +++++++--- src/ace_time/ZoneProcessor.h | 6 +- src/ace_time/common/DateConv.cpp | 17 ++++++ src/ace_time/common/DateConv.h | 20 +++++++ src/ace_time/common/common.h | 22 +++++-- src/zonedb/zone_infos.h | 2 +- tests/ZoneProcessorTest/ZoneProcessorTest.ino | 60 +++++++++++++++---- 10 files changed, 136 insertions(+), 29 deletions(-) create mode 100644 src/ace_time/common/DateConv.cpp create mode 100644 src/ace_time/common/DateConv.h diff --git a/src/AceTime.h b/src/AceTime.h index 875aad00d..ad50261f8 100644 --- a/src/AceTime.h +++ b/src/AceTime.h @@ -29,6 +29,7 @@ #include "zoneinfo/brokers.h" #include "ace_time/common/common.h" #include "ace_time/common/DateStrings.h" +#include "ace_time/common/DateConv.h" #include "ace_time/EpochConverterJulian.h" #include "ace_time/EpochConverterHinnant.h" #include "ace_time/Epoch.h" diff --git a/src/ace_time/BasicZoneProcessor.h b/src/ace_time/BasicZoneProcessor.h index 9f651fec9..5b4c8f25f 100644 --- a/src/ace_time/BasicZoneProcessor.h +++ b/src/ace_time/BasicZoneProcessor.h @@ -889,7 +889,8 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { transition->abbrev, internal::kAbbrevSize, transition->era.format(), - transition->deltaMinutes, + transition->offsetMinutes * kSecPerMin, + transition->deltaMinutes * kSecPerMin, transition->abbrev); } } diff --git a/src/ace_time/ExtendedZoneProcessor.h b/src/ace_time/ExtendedZoneProcessor.h index 8432da3af..d5c1bd623 100644 --- a/src/ace_time/ExtendedZoneProcessor.h +++ b/src/ace_time/ExtendedZoneProcessor.h @@ -1151,6 +1151,7 @@ class ExtendedZoneProcessorTemplate: public ZoneProcessor { t->abbrev, internal::kAbbrevSize, t->format(), + t->offsetSeconds, t->deltaSeconds, t->abbrev); } diff --git a/src/ace_time/ZoneProcessor.cpp b/src/ace_time/ZoneProcessor.cpp index 87f0809a3..6caf49a35 100644 --- a/src/ace_time/ZoneProcessor.cpp +++ b/src/ace_time/ZoneProcessor.cpp @@ -4,8 +4,9 @@ */ #include // strchr(), strncpy(), memcpy() -#include // copyReplaceString() +#include // copyReplaceString(), PrintStr #include "ZoneProcessor.h" +#include "common/DateConv.h" // secondsToHms() namespace ace_time { namespace internal { @@ -49,11 +50,30 @@ void createAbbreviation( char* dest, uint8_t destSize, const char* format, - uint32_t deltaSeconds, + int32_t stdSeconds, + int32_t dstSeconds, const char* letterString) { - // Check if FORMAT contains a '%'. - if (strchr(format, '%') != nullptr) { + // Check if FORMAT is a '%z' + if (*format == '\0') { + int32_t totalSeconds = stdSeconds + dstSeconds; + uint32_t secs = (totalSeconds >= 0) ? totalSeconds : -totalSeconds; + ace_common::PrintStr buf; + uint16_t hh, mm, ss; + secondsToHms(secs, &hh, &mm, &ss); + buf.print((totalSeconds >= 0) ? '+' : '-'); + ace_common::printPad2To(buf, hh, '0'); // pad with leading '0' + if (mm != 0 || ss != 0) { + ace_common::printPad2To(buf, mm, '0'); + } + if (ss != 0) { + ace_common::printPad2To(buf, ss, '0'); + } + strncpy(dest, buf.cstr(), internal::kAbbrevSize); + dest[destSize - 1] = '\0'; + + // Check if FORMAT contains a '%s'. + } else if (strchr(format, '%') != nullptr) { // Check if RULES column empty, therefore no 'letter' if (letterString == nullptr) { strncpy(dest, format, destSize - 1); @@ -72,10 +92,9 @@ void createAbbreviation( ace_common::copyReplaceString(dest, destSize, format, '%', letter); } } else { - // Check if FORMAT contains a '/'. const char* slashPos = strchr(format, '/'); if (slashPos != nullptr) { - if (deltaSeconds == 0) { + if (dstSeconds == 0) { uint8_t headLength = (slashPos - format); if (headLength >= destSize) headLength = destSize - 1; memcpy(dest, format, headLength); @@ -87,7 +106,7 @@ void createAbbreviation( dest[tailLength] = '\0'; } } else { - // Just copy the FORMAT disregarding deltaSeconds and letterString. + // Just copy the FORMAT disregarding dstSeconds and letterString. strncpy(dest, format, destSize - 1); dest[destSize - 1] = '\0'; } diff --git a/src/ace_time/ZoneProcessor.h b/src/ace_time/ZoneProcessor.h index b242d4e65..469fa0172 100644 --- a/src/ace_time/ZoneProcessor.h +++ b/src/ace_time/ZoneProcessor.h @@ -337,7 +337,8 @@ MonthDay calcStartDayOfMonth(int16_t year, uint8_t month, * @param dest destination string buffer * @param destSize size of buffer * @param format encoded abbreviation, '%' is a character substitution - * @param deltaMinutes the additional delta minutes std offset + * @param stdSeconds the offset seconds during standard time + * @param dstSeconds the additional offset seconds for daylight saving time * (0 for standard, != 0 for DST) * @param letterString the string corrresonding to the LETTER field in the * ZoneRule record. It is `nullptr` if ZoneEra.RULES is a '- or an 'hh:mm'; @@ -351,7 +352,8 @@ void createAbbreviation( char* dest, uint8_t destSize, const char* format, - uint32_t deltaSeconds, + int32_t stdSeconds, + int32_t dstSeconds, const char* letterString); } // internal diff --git a/src/ace_time/common/DateConv.cpp b/src/ace_time/common/DateConv.cpp new file mode 100644 index 000000000..c8205baf8 --- /dev/null +++ b/src/ace_time/common/DateConv.cpp @@ -0,0 +1,17 @@ +/* + * MIT License + * Copyright (c) 2024 Brian T. Park + */ + +#include "DateConv.h" + +namespace ace_time { + +void secondsToHms(uint32_t secs, uint16_t* hh, uint16_t* mm, uint16_t* ss) { + *ss = secs % 60; + uint32_t minutes = secs / 60; + *mm = uint16_t(minutes % 60); + *hh = uint16_t(minutes / 60); +} + +} diff --git a/src/ace_time/common/DateConv.h b/src/ace_time/common/DateConv.h new file mode 100644 index 000000000..f22a2f4d5 --- /dev/null +++ b/src/ace_time/common/DateConv.h @@ -0,0 +1,20 @@ +/* + * MIT License + * Copyright (c) 2024 Brian T. Park + * + * Low-level date conversion routines. + */ + +#ifndef ACE_TIME_COMMON_DATE_CONV_H +#define ACE_TIME_COMMON_DATE_CONV_H + +#include + +namespace ace_time { + +/** Convert unsigned secs to hours, minutes, seconds. */ +void secondsToHms(uint32_t secs, uint16_t* hh, uint16_t* mm, uint16_t* ss); + +} + +#endif diff --git a/src/ace_time/common/common.h b/src/ace_time/common/common.h index 781786da3..e1659313b 100644 --- a/src/ace_time/common/common.h +++ b/src/ace_time/common/common.h @@ -27,13 +27,23 @@ namespace internal { /** * Size of the c-string buffer needed to hold a time zone abbreviation. - * Longest abbreviation currently seems to be 5 characters - * (https://www.timeanddate.com/time/zones/) but the TZ database spec says - * that abbreviations are 3 to 6 characters - * (https://data.iana.org/time-zones/theory.html#abbreviations), so use 6 as - * the maximum. Plus one for the terminating NUL character. + * + * - The longest explicit abbreviation in the database (as of 2019 or so) + * seems to be 5 characters (https://www.timeanddate.com/time/zones/) + * - The TZ database spec used to say that abbreviations are 3 to 6 + * characters but that wording is no longer in the document + * (https://data.iana.org/time-zones/theory.html#abbreviations). + * - The zic(1) man page says "A time zone abbreviation has fewer than 3 or + * more than 6 characters. POSIX requires at least 3, and requires + * implementations to support at least 6". The first part of that wording + * makes no sense at all. + * - The %z specifier, added in TZDB 2024b, autogenerates the abbreviation + * using a [+/-][hh[mm[ss]]] pattern, which can be 7 characters long. + * + * Let's increase the max length from 6 to 7 to handle the %z. We also need one + * extra byte for the terminating NUL character. */ -const uint8_t kAbbrevSize = 6 + 1; +const uint8_t kAbbrevSize = 7 + 1; /** Swap 2 parameters. */ template diff --git a/src/zonedb/zone_infos.h b/src/zonedb/zone_infos.h index 689f163fe..5c561f552 100644 --- a/src/zonedb/zone_infos.h +++ b/src/zonedb/zone_infos.h @@ -1377,7 +1377,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Notable zones: 9 //--------------------------------------------------------------------------- -// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%' or '/'} +// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%s' or '/'} // Africa/Windhoek { // Namibia { // LETTER 'CAT' not single character, diff --git a/tests/ZoneProcessorTest/ZoneProcessorTest.ino b/tests/ZoneProcessorTest/ZoneProcessorTest.ino index 86313dbfa..2fd9725aa 100644 --- a/tests/ZoneProcessorTest/ZoneProcessorTest.ino +++ b/tests/ZoneProcessorTest/ZoneProcessorTest.ino @@ -51,49 +51,85 @@ test(ZoneProcessorTest, calcStartDayOfMonth) { assertEqual(30, monthDay.day); } -test(ZoneProcessorTest, createAbbreviation) { +test(ZoneProcessorTest, createAbbreviation_simple) { const uint8_t kDstSize = 6; char dst[kDstSize]; // If no '%', deltaSeconds and letter should not matter - createAbbreviation(dst, kDstSize, "SAST", 0, nullptr); + createAbbreviation(dst, kDstSize, "SAST", 0, 0, nullptr); assertEqual("SAST", dst); - createAbbreviation(dst, kDstSize, "SAST", 60, "A"); + createAbbreviation(dst, kDstSize, "SAST", 0, 60, "A"); assertEqual("SAST", dst); +} + +test(ZoneProcessorTest, createAbbreviation_percent_s) { + const uint8_t kDstSize = 6; + char dst[kDstSize]; // If '%', and letter is (incorrectly) set to '\0', just copy the thing - createAbbreviation(dst, kDstSize, "SA%ST", 0, nullptr); + createAbbreviation(dst, kDstSize, "SA%ST", 0, 0, nullptr); assertEqual("SA%ST", dst); // If '%', then replaced with (non-null) letterString. - createAbbreviation(dst, kDstSize, "P%T", 60, "D"); + createAbbreviation(dst, kDstSize, "P%T", 0, 60, "D"); assertEqual("PDT", dst); - createAbbreviation(dst, kDstSize, "P%T", 0, "S"); + createAbbreviation(dst, kDstSize, "P%T", 0, 0, "S"); assertEqual("PST", dst); - createAbbreviation(dst, kDstSize, "P%T", 0, ""); + createAbbreviation(dst, kDstSize, "P%T", 0, 0, ""); assertEqual("PT", dst); - createAbbreviation(dst, kDstSize, "%", 60, "CAT"); + createAbbreviation(dst, kDstSize, "%", 0, 60, "CAT"); assertEqual("CAT", dst); - createAbbreviation(dst, kDstSize, "%", 0, "WAT"); + createAbbreviation(dst, kDstSize, "%", 0, 0, "WAT"); assertEqual("WAT", dst); +} + +test(ZoneProcessorTest, createAbbreviation_slash) { + const uint8_t kDstSize = 6; + char dst[kDstSize]; // If '/', then deltaSeconds selects the first or second component. - createAbbreviation(dst, kDstSize, "GMT/BST", 0, ""); + createAbbreviation(dst, kDstSize, "GMT/BST", 0, 0, ""); assertEqual("GMT", dst); - createAbbreviation(dst, kDstSize, "GMT/BST", 60, ""); + createAbbreviation(dst, kDstSize, "GMT/BST", 0, 60, ""); assertEqual("BST", dst); // test truncation to kDstSize - createAbbreviation(dst, kDstSize, "P%T3456", 60, "DD"); + createAbbreviation(dst, kDstSize, "P%T3456", 0, 60, "DD"); assertEqual("PDDT3", dst); } +test(ZoneProcessorTest, createAbbreviation_percent_z) { + const uint8_t kDstSize = 8; + char dst[kDstSize]; + + createAbbreviation(dst, kDstSize, "", 0, 0, ""); + assertEqual("+00", dst); + + createAbbreviation(dst, kDstSize, "", 3600, 0, ""); + assertEqual("+01", dst); + + createAbbreviation(dst, kDstSize, "", -3600, 0, ""); + assertEqual("-01", dst); + + createAbbreviation(dst, kDstSize, "", 3600, 120, ""); + assertEqual("+0102", dst); + + createAbbreviation(dst, kDstSize, "", -3600, -120, ""); + assertEqual("-0102", dst); + + createAbbreviation(dst, kDstSize, "", 3600, 123, ""); + assertEqual("+010203", dst); + + createAbbreviation(dst, kDstSize, "", -3600, -123, ""); + assertEqual("-010203", dst); +} + //--------------------------------------------------------------------------- void setup() { From d5c3c4b12bf2339a9428489243a03a4eadd2f5f4 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Mon, 9 Dec 2024 16:45:02 -0800 Subject: [PATCH 02/10] zonedb*: update zonedb files to 2024b with its %z FORMAT --- src/zonedb/Makefile | 2 +- src/zonedb/zone_infos.cpp | 992 +++--- src/zonedb/zone_infos.h | 154 +- src/zonedb/zone_policies.cpp | 118 +- src/zonedb/zone_policies.h | 58 +- src/zonedb/zone_registry.cpp | 90 +- src/zonedb/zone_registry.h | 60 +- src/zonedbc/Makefile | 2 +- src/zonedbc/zone_infos.cpp | 4290 ++++++++++++-------------- src/zonedbc/zone_infos.h | 420 ++- src/zonedbc/zone_policies.cpp | 208 +- src/zonedbc/zone_policies.h | 34 +- src/zonedbc/zone_registry.cpp | 72 +- src/zonedbc/zone_registry.h | 38 +- src/zonedbctesting/Makefile | 2 +- src/zonedbctesting/zone_infos.cpp | 82 +- src/zonedbctesting/zone_infos.h | 60 +- src/zonedbctesting/zone_policies.cpp | 166 +- src/zonedbctesting/zone_policies.h | 32 +- src/zonedbctesting/zone_registry.cpp | 26 +- src/zonedbctesting/zone_registry.h | 26 +- src/zonedbtesting/Makefile | 2 +- src/zonedbtesting/zone_infos.cpp | 24 +- src/zonedbtesting/zone_infos.h | 47 +- src/zonedbtesting/zone_policies.cpp | 14 +- src/zonedbtesting/zone_policies.h | 14 +- src/zonedbtesting/zone_registry.cpp | 14 +- src/zonedbtesting/zone_registry.h | 14 +- src/zonedbx/Makefile | 2 +- src/zonedbx/zone_infos.cpp | 2104 ++++++------- src/zonedbx/zone_infos.h | 204 +- src/zonedbx/zone_policies.cpp | 106 +- src/zonedbx/zone_policies.h | 46 +- src/zonedbx/zone_registry.cpp | 78 +- src/zonedbx/zone_registry.h | 44 +- src/zonedbxtesting/Makefile | 2 +- src/zonedbxtesting/zone_infos.cpp | 82 +- src/zonedbxtesting/zone_infos.h | 60 +- src/zonedbxtesting/zone_policies.cpp | 166 +- src/zonedbxtesting/zone_policies.h | 32 +- src/zonedbxtesting/zone_registry.cpp | 26 +- src/zonedbxtesting/zone_registry.h | 26 +- 42 files changed, 4606 insertions(+), 5433 deletions(-) diff --git a/src/zonedb/Makefile b/src/zonedb/Makefile index f355c20fd..10c8bfc12 100644 --- a/src/zonedb/Makefile +++ b/src/zonedb/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 2000 UNTIL_YEAR := 2200 diff --git a/src/zonedb/zone_infos.cpp b/src/zonedb/zone_infos.cpp index 14170bb23..224815d42 100644 --- a/src/zonedb/zone_infos.cpp +++ b/src/zonedb/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -85,7 +85,7 @@ namespace zonedb { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -149,8 +149,8 @@ const basic::ZoneContext kZoneContext ACE_TIME_PROGMEM = { }; //--------------------------------------------------------------------------- -// Zones: 227 -// Eras: 239 +// Zones: 216 +// Eras: 228 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -607,10 +607,10 @@ const basic::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = { - // -4:00 Para -04/-03 + // -4:00 Para %z { &kZonePolicyPara /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -671,10 +671,10 @@ const basic::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -735,10 +735,10 @@ const basic::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = { - // -5:00 CO -05/-04 + // -5:00 CO %z { &kZonePolicyCO /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -799,10 +799,10 @@ const basic::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = { - // -4:00 Brazil -04/-03 + // -4:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -831,10 +831,10 @@ const basic::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1183,10 +1183,10 @@ const basic::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = { - // -5:00 Ecuador -05/-04 + // -5:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1215,10 +1215,10 @@ const basic::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1615,10 +1615,10 @@ const basic::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1647,10 +1647,10 @@ const basic::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = { - // -5:00 Peru -05/-04 + // -5:00 Peru %z { &kZonePolicyPeru /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1743,10 +1743,10 @@ const basic::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1947,10 +1947,10 @@ const basic::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = { - // -3:00 Canada -03/-02 + // -3:00 Canada %z { &kZonePolicyCanada /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2055,10 +2055,10 @@ const basic::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { - // -3:00 Uruguay -03/-02 + // -3:00 Uruguay %z { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2215,10 +2215,10 @@ const basic::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2311,10 +2311,10 @@ const basic::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2407,10 +2407,10 @@ const basic::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { - // -4:00 Chile -04/-03 + // -4:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2439,10 +2439,10 @@ const basic::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = { - // -3:00 Brazil -03/-02 + // -3:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2739,10 +2739,10 @@ const basic::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2771,10 +2771,10 @@ const basic::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2803,10 +2803,10 @@ const basic::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = { - // 3:00 Iraq +03/+04 + // 3:00 Iraq %z { &kZonePolicyIraq /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2835,10 +2835,10 @@ const basic::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { - // 4:00 Azer +04/+05 + // 4:00 Azer %z { &kZonePolicyAzer /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2867,10 +2867,10 @@ const basic::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = { - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2931,10 +2931,10 @@ const basic::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { - // 6:00 - +06 2009 + // 6:00 - %z 2009 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -2943,10 +2943,10 @@ static const basic::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 6:00 Dhaka +06/+07 + // 6:00 Dhaka %z { &kZonePolicyDhaka /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2975,10 +2975,10 @@ const basic::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = { - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3007,10 +3007,10 @@ const basic::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3039,10 +3039,10 @@ const basic::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3103,10 +3103,10 @@ const basic::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = { - // 7:00 Mongol +07/+08 + // 7:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3231,10 +3231,10 @@ const basic::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = { - // 4:30 - +0430 + // 4:30 - %z { nullptr /*zonePolicy*/, - "+0430" /*format*/, + "" /*format*/, 18 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3295,10 +3295,10 @@ const basic::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = { - // 5:45 - +0545 + // 5:45 - %z { nullptr /*zonePolicy*/, - "+0545" /*format*/, + "" /*format*/, 23 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3359,10 +3359,10 @@ const basic::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3551,10 +3551,10 @@ const basic::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = { - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3583,10 +3583,10 @@ const basic::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = { - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3615,10 +3615,10 @@ const basic::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3711,10 +3711,10 @@ const basic::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3775,10 +3775,10 @@ const basic::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3807,10 +3807,10 @@ const basic::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = { - // 3:30 Iran +0330/+0430 + // 3:30 Iran %z { &kZonePolicyIran /*zonePolicy*/, - "+0330/+0430" /*format*/, + "" /*format*/, 14 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3839,10 +3839,10 @@ const basic::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3903,10 +3903,10 @@ const basic::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = { - // 8:00 Mongol +08/+09 + // 8:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3935,10 +3935,10 @@ const basic::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3967,10 +3967,10 @@ const basic::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = { - // 6:30 - +0630 + // 6:30 - %z { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 26 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3999,10 +3999,10 @@ const basic::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { - // 4:00 RussiaAsia +04/+05 2011 + // 4:00 RussiaAsia %z 2011 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -4011,10 +4011,10 @@ static const basic::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 4:00 Armenia +04/+05 + // 4:00 Armenia %z { &kZonePolicyArmenia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4043,10 +4043,10 @@ const basic::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = { - // -1:00 EU -01/+00 + // -1:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4139,10 +4139,10 @@ const basic::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = { - // -1:00 - -01 + // -1:00 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4235,10 +4235,10 @@ const basic::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = { - // -2:00 - -02 + // -2:00 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4407,10 +4407,10 @@ const basic::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = { - // 8:45 AW +0845/+0945 + // 8:45 AW %z { &kZonePolicyAW /*zonePolicy*/, - "+0845/+0945" /*format*/, + "" /*format*/, 35 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4503,10 +4503,10 @@ const basic::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = { - // 10:30 LH +1030/+11 + // 10:30 LH %z { &kZonePolicyLH /*zonePolicy*/, - "+1030/+11" /*format*/, + "" /*format*/, 42 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4625,166 +4625,6 @@ const basic::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: CET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur CE%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "CE%T" /*format*/, - 4 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; - -const basic::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { - kZoneNameCET /*name*/, - 0x0b87d921 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: CST6CDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = { - // -6:00 US C%sT - { - &kZonePolicyUS /*zonePolicy*/, - "C%T" /*format*/, - -24 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; - -const basic::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { - kZoneNameCST6CDT /*name*/, - 0xf0e87d00 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCST6CDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = { - // 2:00 EU EE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "EE%T" /*format*/, - 8 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; - -const basic::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { - kZoneNameEET /*name*/, - 0x0b87e1a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = { - // -5:00 - EST - { - nullptr /*zonePolicy*/, - "EST" /*format*/, - -20 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; - -const basic::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { - kZoneNameEST /*name*/, - 0x0b87e371 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST5EDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = { - // -5:00 US E%sT - { - &kZonePolicyUS /*zonePolicy*/, - "E%T" /*format*/, - -20 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; - -const basic::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { - kZoneNameEST5EDT /*name*/, - 0x8adc72a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST5EDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Etc/GMT // Eras: 1 @@ -4823,10 +4663,10 @@ const basic::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = { - // -1 - -01 + // -1 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4855,10 +4695,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = { - // -10 - -10 + // -10 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4887,10 +4727,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = { - // -11 - -11 + // -11 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4919,10 +4759,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = { - // -12 - -12 + // -12 - %z { nullptr /*zonePolicy*/, - "-12" /*format*/, + "" /*format*/, -48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4951,10 +4791,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = { - // -2 - -02 + // -2 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4983,10 +4823,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = { - // -3 - -03 + // -3 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5015,10 +4855,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = { - // -4 - -04 + // -4 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5047,10 +4887,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = { - // -5 - -05 + // -5 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5079,10 +4919,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = { - // -6 - -06 + // -6 - %z { nullptr /*zonePolicy*/, - "-06" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5111,10 +4951,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = { - // -7 - -07 + // -7 - %z { nullptr /*zonePolicy*/, - "-07" /*format*/, + "" /*format*/, -28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5143,10 +4983,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = { - // -8 - -08 + // -8 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5175,10 +5015,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = { - // -9 - -09 + // -9 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5207,10 +5047,10 @@ const basic::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = { - // 1 - +01 + // 1 - %z { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5239,10 +5079,10 @@ const basic::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = { - // 10 - +10 + // 10 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5271,10 +5111,10 @@ const basic::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = { - // 11 - +11 + // 11 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5303,10 +5143,10 @@ const basic::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = { - // 12 - +12 + // 12 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5335,10 +5175,10 @@ const basic::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = { - // 13 - +13 + // 13 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5367,10 +5207,10 @@ const basic::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = { - // 14 - +14 + // 14 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 56 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5399,10 +5239,10 @@ const basic::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = { - // 2 - +02 + // 2 - %z { nullptr /*zonePolicy*/, - "+02" /*format*/, + "" /*format*/, 8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5431,10 +5271,10 @@ const basic::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = { - // 3 - +03 + // 3 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5463,10 +5303,10 @@ const basic::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = { - // 4 - +04 + // 4 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5495,10 +5335,10 @@ const basic::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = { - // 5 - +05 + // 5 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5527,10 +5367,10 @@ const basic::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = { - // 6 - +06 + // 6 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5559,10 +5399,10 @@ const basic::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = { - // 7 - +07 + // 7 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5591,10 +5431,10 @@ const basic::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = { - // 8 - +08 + // 8 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5623,10 +5463,10 @@ const basic::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = { - // 9 - +09 + // 9 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6449,48 +6289,16 @@ const basic::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: HST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = { - // -10:00 - HST - { - nullptr /*zonePolicy*/, - "HST" /*format*/, - -40 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; - -const basic::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { - kZoneNameHST /*name*/, - 0x0b87f034 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraHST /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Indian/Chagos // Eras: 1 //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6519,10 +6327,10 @@ const basic::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6551,10 +6359,10 @@ const basic::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = { - // 4:00 Mauritius +04/+05 + // 4:00 Mauritius %z { &kZonePolicyMauritius /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6577,134 +6385,6 @@ const basic::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: MET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur ME%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "ME%T" /*format*/, - 4 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; - -const basic::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { - kZoneNameMET /*name*/, - 0x0b8803ab /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = { - // -7:00 - MST - { - nullptr /*zonePolicy*/, - "MST" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; - -const basic::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { - kZoneNameMST /*name*/, - 0x0b880579 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST7MDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = { - // -7:00 US M%sT - { - &kZonePolicyUS /*zonePolicy*/, - "M%T" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; - -const basic::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { - kZoneNameMST7MDT /*name*/, - 0xf2af9375 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST7MDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: PST8PDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = { - // -8:00 US P%sT - { - &kZonePolicyUS /*zonePolicy*/, - "P%T" /*format*/, - -32 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; - -const basic::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { - kZoneNamePST8PDT /*name*/, - 0xd99ee2dc /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraPST8PDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Pacific/Auckland // Eras: 1 @@ -6743,10 +6423,10 @@ const basic::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = { - // 12:45 Chatham +1245/+1345 + // 12:45 Chatham %z { &kZonePolicyChatham /*zonePolicy*/, - "+1245/+1345" /*format*/, + "" /*format*/, 51 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6775,10 +6455,10 @@ const basic::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = { - // -6:00 Chile -06/-05 + // -6:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6807,10 +6487,10 @@ const basic::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = { - // 11:00 Vanuatu +11/+12 + // 11:00 Vanuatu %z { &kZonePolicyVanuatu /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6839,10 +6519,10 @@ const basic::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = { - // 12:00 Fiji +12/+13 + // 12:00 Fiji %z { &kZonePolicyFiji /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6871,10 +6551,10 @@ const basic::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { - // -6:00 Ecuador -06/-05 + // -6:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6903,10 +6583,10 @@ const basic::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = { - // -9:00 - -09 + // -9:00 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6935,10 +6615,10 @@ const basic::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = { - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6999,10 +6679,10 @@ const basic::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = { - // 13:00 - +13 + // 13:00 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7031,10 +6711,10 @@ const basic::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = { - // 14:00 - +14 + // 14:00 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 56 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7063,10 +6743,10 @@ const basic::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { - // 12:00 - +12 1999 + // 12:00 - %z 1999 { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -7075,10 +6755,10 @@ static const basic::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7107,10 +6787,10 @@ const basic::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7139,10 +6819,10 @@ const basic::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = { - // -9:30 - -0930 + // -9:30 - %z { nullptr /*zonePolicy*/, - "-0930" /*format*/, + "" /*format*/, -38 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7171,10 +6851,10 @@ const basic::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7203,10 +6883,10 @@ const basic::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = { - // -11:00 - -11 + // -11:00 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7235,10 +6915,10 @@ const basic::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = { - // 11:00 NC +11/+12 + // 11:00 NC %z { &kZonePolicyNC /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7299,10 +6979,10 @@ const basic::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = { - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7331,10 +7011,10 @@ const basic::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = { - // -8:00 - -08 + // -8:00 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7363,10 +7043,10 @@ const basic::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = { - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7395,10 +7075,10 @@ const basic::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = { - // -10:00 Cook -10/-0930 + // -10:00 Cook %z { &kZonePolicyCook /*zonePolicy*/, - "-10/-0930" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7427,10 +7107,10 @@ const basic::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = { - // -10:00 - -10 + // -10:00 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7459,10 +7139,10 @@ const basic::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7491,10 +7171,10 @@ const basic::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { - // 13:00 - +13 1999 + // 13:00 - %z 1999 { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -7503,10 +7183,10 @@ static const basic::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 13:00 Tonga +13/+14 + // 13:00 Tonga %z { &kZonePolicyTonga /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7529,42 +7209,10 @@ const basic::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: WET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const basic::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = { - // 0:00 EU WE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "WE%T" /*format*/, - 0 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; - -const basic::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { - kZoneNameWET /*name*/, - 0x0b882e35 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraWET /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- -// Links: 219 +// Links: 231 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -8767,6 +8415,21 @@ const basic::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = { &kZoneAsia_Kolkata /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: Asia/Choibalsan -> Asia/Ulaanbaatar +//--------------------------------------------------------------------------- + +static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x04" "Choibalsan"; + +const basic::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = { + kZoneNameAsia_Choibalsan /*name*/, + 0x928aa4a6 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAsia_Ulaanbaatar /*eras*/, + &kZoneAsia_Ulaanbaatar /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Asia/Chongqing -> Asia/Shanghai //--------------------------------------------------------------------------- @@ -9307,6 +8970,36 @@ const basic::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = { &kZoneAmerica_Manaus /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: CET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; + +const basic::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { + kZoneNameCET /*name*/, + 0x0b87d921 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: CST6CDT -> America/Chicago +//--------------------------------------------------------------------------- + +static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; + +const basic::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { + kZoneNameCST6CDT /*name*/, + 0xf0e87d00 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Chicago /*eras*/, + &kZoneAmerica_Chicago /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Canada/Atlantic -> America/Halifax //--------------------------------------------------------------------------- @@ -9442,6 +9135,51 @@ const basic::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = { &kZoneAmerica_Havana /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: EET -> Europe/Athens +//--------------------------------------------------------------------------- + +static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; + +const basic::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { + kZoneNameEET /*name*/, + 0x0b87e1a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Athens /*eras*/, + &kZoneEurope_Athens /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST -> America/Panama +//--------------------------------------------------------------------------- + +static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; + +const basic::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { + kZoneNameEST /*name*/, + 0x0b87e371 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Panama /*eras*/, + &kZoneAmerica_Panama /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST5EDT -> America/New_York +//--------------------------------------------------------------------------- + +static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; + +const basic::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { + kZoneNameEST5EDT /*name*/, + 0x8adc72a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_New_York /*eras*/, + &kZoneAmerica_New_York /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Eire -> Europe/Dublin //--------------------------------------------------------------------------- @@ -10057,6 +9795,21 @@ const basic::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = { &kZoneEtc_GMT /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: HST -> Pacific/Honolulu +//--------------------------------------------------------------------------- + +static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; + +const basic::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { + kZoneNameHST /*name*/, + 0x0b87f034 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraPacific_Honolulu /*eras*/, + &kZonePacific_Honolulu /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Hongkong -> Asia/Hong_Kong //--------------------------------------------------------------------------- @@ -10282,6 +10035,51 @@ const basic::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = { &kZonePacific_Kwajalein /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: MET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; + +const basic::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { + kZoneNameMET /*name*/, + 0x0b8803ab /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST -> America/Phoenix +//--------------------------------------------------------------------------- + +static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; + +const basic::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { + kZoneNameMST /*name*/, + 0x0b880579 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Phoenix /*eras*/, + &kZoneAmerica_Phoenix /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST7MDT -> America/Denver +//--------------------------------------------------------------------------- + +static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; + +const basic::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { + kZoneNameMST7MDT /*name*/, + 0xf2af9375 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Denver /*eras*/, + &kZoneAmerica_Denver /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Mexico/BajaSur -> America/Mazatlan //--------------------------------------------------------------------------- @@ -10357,6 +10155,21 @@ const basic::ZoneInfo kZonePRC ACE_TIME_PROGMEM = { &kZoneAsia_Shanghai /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: PST8PDT -> America/Los_Angeles +//--------------------------------------------------------------------------- + +static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; + +const basic::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { + kZoneNamePST8PDT /*name*/, + 0xd99ee2dc /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Los_Angeles /*eras*/, + &kZoneAmerica_Los_Angeles /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Pacific/Chuuk -> Pacific/Port_Moresby //--------------------------------------------------------------------------- @@ -10837,6 +10650,21 @@ const basic::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = { &kZoneEtc_UTC /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: WET -> Europe/Lisbon +//--------------------------------------------------------------------------- + +static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; + +const basic::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { + kZoneNameWET /*name*/, + 0x0b882e35 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Lisbon /*eras*/, + &kZoneEurope_Lisbon /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Zulu -> Etc/UTC //--------------------------------------------------------------------------- diff --git a/src/zonedb/zone_infos.h b/src/zonedb/zone_infos.h index 5c561f552..577c55081 100644 --- a/src/zonedb/zone_infos.h +++ b/src/zonedb/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -95,7 +95,7 @@ extern const __FlashStringHelper* const kTzDatabaseVersion; extern const basic::ZoneContext kZoneContext; //--------------------------------------------------------------------------- -// Supported zones: 227 +// Supported zones: 216 //--------------------------------------------------------------------------- extern const basic::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan @@ -234,11 +234,6 @@ extern const basic::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe extern const basic::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne extern const basic::ZoneInfo kZoneAustralia_Perth; // Australia/Perth extern const basic::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney -extern const basic::ZoneInfo kZoneCET; // CET -extern const basic::ZoneInfo kZoneCST6CDT; // CST6CDT -extern const basic::ZoneInfo kZoneEET; // EET -extern const basic::ZoneInfo kZoneEST; // EST -extern const basic::ZoneInfo kZoneEST5EDT; // EST5EDT extern const basic::ZoneInfo kZoneEtc_GMT; // Etc/GMT extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10 @@ -291,14 +286,9 @@ extern const basic::ZoneInfo kZoneEurope_Tirane; // Europe/Tirane extern const basic::ZoneInfo kZoneEurope_Vienna; // Europe/Vienna extern const basic::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw extern const basic::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich -extern const basic::ZoneInfo kZoneHST; // HST extern const basic::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos extern const basic::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives extern const basic::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius -extern const basic::ZoneInfo kZoneMET; // MET -extern const basic::ZoneInfo kZoneMST; // MST -extern const basic::ZoneInfo kZoneMST7MDT; // MST7MDT -extern const basic::ZoneInfo kZonePST8PDT; // PST8PDT extern const basic::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland extern const basic::ZoneInfo kZonePacific_Chatham; // Pacific/Chatham extern const basic::ZoneInfo kZonePacific_Easter; // Pacific/Easter @@ -324,7 +314,6 @@ extern const basic::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga extern const basic::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti extern const basic::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa extern const basic::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu -extern const basic::ZoneInfo kZoneWET; // WET // Zone Ids @@ -465,11 +454,6 @@ const uint32_t kZoneIdAustralia_Lord_Howe = 0xa748b67d; // Australia/Lord_Howe const uint32_t kZoneIdAustralia_Melbourne = 0x0fe559a3; // Australia/Melbourne const uint32_t kZoneIdAustralia_Perth = 0x8db8269d; // Australia/Perth const uint32_t kZoneIdAustralia_Sydney = 0x4d1e9776; // Australia/Sydney -const uint32_t kZoneIdCET = 0x0b87d921; // CET -const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT -const uint32_t kZoneIdEET = 0x0b87e1a3; // EET -const uint32_t kZoneIdEST = 0x0b87e371; // EST -const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEtc_GMT = 0xd8e2de58; // Etc/GMT const uint32_t kZoneIdEtc_GMT_PLUS_1 = 0x9d13da14; // Etc/GMT+1 const uint32_t kZoneIdEtc_GMT_PLUS_10 = 0x3f8f1cc4; // Etc/GMT+10 @@ -522,14 +506,9 @@ const uint32_t kZoneIdEurope_Tirane = 0x6ea95b47; // Europe/Tirane const uint32_t kZoneIdEurope_Vienna = 0x734cc2e5; // Europe/Vienna const uint32_t kZoneIdEurope_Warsaw = 0x75185c19; // Europe/Warsaw const uint32_t kZoneIdEurope_Zurich = 0x7d8195b9; // Europe/Zurich -const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdIndian_Chagos = 0x456f7c3c; // Indian/Chagos const uint32_t kZoneIdIndian_Maldives = 0x9869681c; // Indian/Maldives const uint32_t kZoneIdIndian_Mauritius = 0x7b09c02a; // Indian/Mauritius -const uint32_t kZoneIdMET = 0x0b8803ab; // MET -const uint32_t kZoneIdMST = 0x0b880579; // MST -const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT -const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Auckland = 0x25062f86; // Pacific/Auckland const uint32_t kZoneIdPacific_Chatham = 0x2f0de999; // Pacific/Chatham const uint32_t kZoneIdPacific_Easter = 0xcf54f7e7; // Pacific/Easter @@ -555,11 +534,10 @@ const uint32_t kZoneIdPacific_Rarotonga = 0x9981a3b0; // Pacific/Rarotonga const uint32_t kZoneIdPacific_Tahiti = 0xf24c2446; // Pacific/Tahiti const uint32_t kZoneIdPacific_Tarawa = 0xf2517e63; // Pacific/Tarawa const uint32_t kZoneIdPacific_Tongatapu = 0x262ca836; // Pacific/Tongatapu -const uint32_t kZoneIdWET = 0x0b882e35; // WET //--------------------------------------------------------------------------- -// Supported links: 219 +// Supported links: 231 //--------------------------------------------------------------------------- extern const basic::ZoneInfo kZoneAfrica_Accra; // Africa/Accra -> Africa/Abidjan @@ -642,6 +620,7 @@ extern const basic::ZoneInfo kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/Ashg extern const basic::ZoneInfo kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar extern const basic::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei -> Asia/Kuching extern const basic::ZoneInfo kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata +extern const basic::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan -> Asia/Ulaanbaatar extern const basic::ZoneInfo kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai extern const basic::ZoneInfo kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai extern const basic::ZoneInfo kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka @@ -678,6 +657,8 @@ extern const basic::ZoneInfo kZoneAustralia_West; // Australia/West -> Australia extern const basic::ZoneInfo kZoneAustralia_Yancowinna; // Australia/Yancowinna -> Australia/Broken_Hill extern const basic::ZoneInfo kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo extern const basic::ZoneInfo kZoneBrazil_West; // Brazil/West -> America/Manaus +extern const basic::ZoneInfo kZoneCET; // CET -> Europe/Brussels +extern const basic::ZoneInfo kZoneCST6CDT; // CST6CDT -> America/Chicago extern const basic::ZoneInfo kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax extern const basic::ZoneInfo kZoneCanada_Central; // Canada/Central -> America/Winnipeg extern const basic::ZoneInfo kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto @@ -687,6 +668,9 @@ extern const basic::ZoneInfo kZoneCanada_Saskatchewan; // Canada/Saskatchewan -> extern const basic::ZoneInfo kZoneChile_Continental; // Chile/Continental -> America/Santiago extern const basic::ZoneInfo kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter extern const basic::ZoneInfo kZoneCuba; // Cuba -> America/Havana +extern const basic::ZoneInfo kZoneEET; // EET -> Europe/Athens +extern const basic::ZoneInfo kZoneEST; // EST -> America/Panama +extern const basic::ZoneInfo kZoneEST5EDT; // EST5EDT -> America/New_York extern const basic::ZoneInfo kZoneEire; // Eire -> Europe/Dublin extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT extern const basic::ZoneInfo kZoneEtc_GMT_0; // Etc/GMT-0 -> Etc/GMT @@ -728,6 +712,7 @@ extern const basic::ZoneInfo kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT extern const basic::ZoneInfo kZoneGMT_0; // GMT-0 -> Etc/GMT extern const basic::ZoneInfo kZoneGMT0; // GMT0 -> Etc/GMT extern const basic::ZoneInfo kZoneGreenwich; // Greenwich -> Etc/GMT +extern const basic::ZoneInfo kZoneHST; // HST -> Pacific/Honolulu extern const basic::ZoneInfo kZoneHongkong; // Hongkong -> Asia/Hong_Kong extern const basic::ZoneInfo kZoneIceland; // Iceland -> Africa/Abidjan extern const basic::ZoneInfo kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi @@ -743,11 +728,15 @@ extern const basic::ZoneInfo kZoneIsrael; // Israel -> Asia/Jerusalem extern const basic::ZoneInfo kZoneJamaica; // Jamaica -> America/Jamaica extern const basic::ZoneInfo kZoneJapan; // Japan -> Asia/Tokyo extern const basic::ZoneInfo kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein +extern const basic::ZoneInfo kZoneMET; // MET -> Europe/Brussels +extern const basic::ZoneInfo kZoneMST; // MST -> America/Phoenix +extern const basic::ZoneInfo kZoneMST7MDT; // MST7MDT -> America/Denver extern const basic::ZoneInfo kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan extern const basic::ZoneInfo kZoneNZ; // NZ -> Pacific/Auckland extern const basic::ZoneInfo kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham extern const basic::ZoneInfo kZoneNavajo; // Navajo -> America/Denver extern const basic::ZoneInfo kZonePRC; // PRC -> Asia/Shanghai +extern const basic::ZoneInfo kZonePST8PDT; // PST8PDT -> America/Los_Angeles extern const basic::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk -> Pacific/Port_Moresby extern const basic::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury -> Pacific/Kanton extern const basic::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti -> Pacific/Tarawa @@ -780,6 +769,7 @@ extern const basic::ZoneInfo kZoneUS_Pacific; // US/Pacific -> America/Los_Angel extern const basic::ZoneInfo kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago extern const basic::ZoneInfo kZoneUTC; // UTC -> Etc/UTC extern const basic::ZoneInfo kZoneUniversal; // Universal -> Etc/UTC +extern const basic::ZoneInfo kZoneWET; // WET -> Europe/Lisbon extern const basic::ZoneInfo kZoneZulu; // Zulu -> Etc/UTC @@ -865,6 +855,7 @@ const uint32_t kZoneIdAsia_Ashkhabad = 0x15454f09; // Asia/Ashkhabad const uint32_t kZoneIdAsia_Bahrain = 0x9d078487; // Asia/Bahrain const uint32_t kZoneIdAsia_Brunei = 0xa8e595f7; // Asia/Brunei const uint32_t kZoneIdAsia_Calcutta = 0x328a44c3; // Asia/Calcutta +const uint32_t kZoneIdAsia_Choibalsan = 0x928aa4a6; // Asia/Choibalsan const uint32_t kZoneIdAsia_Chongqing = 0xf937fb90; // Asia/Chongqing const uint32_t kZoneIdAsia_Chungking = 0xc7121dd0; // Asia/Chungking const uint32_t kZoneIdAsia_Dacca = 0x14bcac5e; // Asia/Dacca @@ -901,6 +892,8 @@ const uint32_t kZoneIdAustralia_West = 0xdd858a5d; // Australia/West const uint32_t kZoneIdAustralia_Yancowinna = 0x90bac131; // Australia/Yancowinna const uint32_t kZoneIdBrazil_East = 0x669578c5; // Brazil/East const uint32_t kZoneIdBrazil_West = 0x669f689b; // Brazil/West +const uint32_t kZoneIdCET = 0x0b87d921; // CET +const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT const uint32_t kZoneIdCanada_Atlantic = 0x536b119c; // Canada/Atlantic const uint32_t kZoneIdCanada_Central = 0x626710f5; // Canada/Central const uint32_t kZoneIdCanada_Eastern = 0xf3612d5e; // Canada/Eastern @@ -910,6 +903,9 @@ const uint32_t kZoneIdCanada_Saskatchewan = 0x77311f49; // Canada/Saskatchewan const uint32_t kZoneIdChile_Continental = 0x7e2bdb18; // Chile/Continental const uint32_t kZoneIdChile_EasterIsland = 0xb0982af8; // Chile/EasterIsland const uint32_t kZoneIdCuba = 0x7c83cba0; // Cuba +const uint32_t kZoneIdEET = 0x0b87e1a3; // EET +const uint32_t kZoneIdEST = 0x0b87e371; // EST +const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEire = 0x7c84b36a; // Eire const uint32_t kZoneIdEtc_GMT_PLUS_0 = 0x9d13da13; // Etc/GMT+0 const uint32_t kZoneIdEtc_GMT_0 = 0x9d13da55; // Etc/GMT-0 @@ -951,6 +947,7 @@ const uint32_t kZoneIdGMT_PLUS_0 = 0x0d2f7028; // GMT+0 const uint32_t kZoneIdGMT_0 = 0x0d2f706a; // GMT-0 const uint32_t kZoneIdGMT0 = 0x7c8550fd; // GMT0 const uint32_t kZoneIdGreenwich = 0xc84d4221; // Greenwich +const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdHongkong = 0x56d36560; // Hongkong const uint32_t kZoneIdIceland = 0xe56a35b5; // Iceland const uint32_t kZoneIdIndian_Antananarivo = 0x9ebf5289; // Indian/Antananarivo @@ -966,11 +963,15 @@ const uint32_t kZoneIdIsrael = 0xba88c9e5; // Israel const uint32_t kZoneIdJamaica = 0x2e44fdab; // Jamaica const uint32_t kZoneIdJapan = 0x0d712f8f; // Japan const uint32_t kZoneIdKwajalein = 0x0e57afbb; // Kwajalein +const uint32_t kZoneIdMET = 0x0b8803ab; // MET +const uint32_t kZoneIdMST = 0x0b880579; // MST +const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT const uint32_t kZoneIdMexico_BajaSur = 0x08ee3641; // Mexico/BajaSur const uint32_t kZoneIdNZ = 0x005974ad; // NZ const uint32_t kZoneIdNZ_CHAT = 0x4d42afda; // NZ-CHAT const uint32_t kZoneIdNavajo = 0xc4ef0e24; // Navajo const uint32_t kZoneIdPRC = 0x0b88120a; // PRC +const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Chuuk = 0x8a090b23; // Pacific/Chuuk const uint32_t kZoneIdPacific_Enderbury = 0x61599a93; // Pacific/Enderbury const uint32_t kZoneIdPacific_Funafuti = 0xdb402d65; // Pacific/Funafuti @@ -1003,6 +1004,7 @@ const uint32_t kZoneIdUS_Pacific = 0xa950f6ab; // US/Pacific const uint32_t kZoneIdUS_Samoa = 0x566821cd; // US/Samoa const uint32_t kZoneIdUTC = 0x0b882791; // UTC const uint32_t kZoneIdUniversal = 0xd0ff523e; // Universal +const uint32_t kZoneIdWET = 0x0b882e35; // WET const uint32_t kZoneIdZulu = 0x7c9069b5; // Zulu @@ -1150,11 +1152,6 @@ const uint8_t kZoneBufSizeAustralia_Lord_Howe = 5; // Australia/Lord_Howe in 19 const uint8_t kZoneBufSizeAustralia_Melbourne = 5; // Australia/Melbourne in 1993 const uint8_t kZoneBufSizeAustralia_Perth = 6; // Australia/Perth in 2007 const uint8_t kZoneBufSizeAustralia_Sydney = 5; // Australia/Sydney in 1992 -const uint8_t kZoneBufSizeCET = 5; // CET in 1983 -const uint8_t kZoneBufSizeCST6CDT = 6; // CST6CDT in 2008 -const uint8_t kZoneBufSizeEET = 5; // EET in 1983 -const uint8_t kZoneBufSizeEST = 1; // EST in 1949 -const uint8_t kZoneBufSizeEST5EDT = 6; // EST5EDT in 2008 const uint8_t kZoneBufSizeEtc_GMT = 1; // Etc/GMT in 1949 const uint8_t kZoneBufSizeEtc_GMT_PLUS_1 = 1; // Etc/GMT+1 in 1949 const uint8_t kZoneBufSizeEtc_GMT_PLUS_10 = 1; // Etc/GMT+10 in 1949 @@ -1207,14 +1204,9 @@ const uint8_t kZoneBufSizeEurope_Tirane = 5; // Europe/Tirane in 1983 const uint8_t kZoneBufSizeEurope_Vienna = 5; // Europe/Vienna in 1983 const uint8_t kZoneBufSizeEurope_Warsaw = 5; // Europe/Warsaw in 1983 const uint8_t kZoneBufSizeEurope_Zurich = 5; // Europe/Zurich in 1983 -const uint8_t kZoneBufSizeHST = 1; // HST in 1949 const uint8_t kZoneBufSizeIndian_Chagos = 1; // Indian/Chagos in 1949 const uint8_t kZoneBufSizeIndian_Maldives = 1; // Indian/Maldives in 1949 const uint8_t kZoneBufSizeIndian_Mauritius = 3; // Indian/Mauritius in 2008 -const uint8_t kZoneBufSizeMET = 5; // MET in 1983 -const uint8_t kZoneBufSizeMST = 1; // MST in 1949 -const uint8_t kZoneBufSizeMST7MDT = 6; // MST7MDT in 2008 -const uint8_t kZoneBufSizePST8PDT = 6; // PST8PDT in 2008 const uint8_t kZoneBufSizePacific_Auckland = 5; // Pacific/Auckland in 1992 const uint8_t kZoneBufSizePacific_Chatham = 5; // Pacific/Chatham in 1992 const uint8_t kZoneBufSizePacific_Easter = 5; // Pacific/Easter in 2002 @@ -1240,11 +1232,10 @@ const uint8_t kZoneBufSizePacific_Rarotonga = 2; // Pacific/Rarotonga in 1949 const uint8_t kZoneBufSizePacific_Tahiti = 1; // Pacific/Tahiti in 1949 const uint8_t kZoneBufSizePacific_Tarawa = 1; // Pacific/Tarawa in 1949 const uint8_t kZoneBufSizePacific_Tongatapu = 5; // Pacific/Tongatapu in 1999 -const uint8_t kZoneBufSizeWET = 5; // WET in 1983 //--------------------------------------------------------------------------- -// Unsupported zones: 124 +// Unsupported zones: 123 //--------------------------------------------------------------------------- // Africa/Cairo {policy 'Egypt' not found} @@ -1324,7 +1315,6 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Asia/Barnaul {UNTIL contains month/day/time} // Asia/Bishkek {UNTIL contains month/day/time} // Asia/Chita {UNTIL contains month/day/time} -// Asia/Choibalsan {UNTIL contains month/day/time} // Asia/Colombo {UNTIL contains month/day/time} // Asia/Damascus {UNTIL contains month/day/time} // Asia/Dili {UNTIL contains month/day/time} @@ -1374,7 +1364,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 //--------------------------------------------------------------------------- -// Notable zones: 9 +// Notable zones: 34 //--------------------------------------------------------------------------- // Africa/Johannesburg {RULES not fixed but FORMAT is missing '%s' or '/'} @@ -1385,21 +1375,53 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '-1:00' is a negative DST, // } // } +// America/Asuncion {RULES not fixed but FORMAT is missing '%s' or '/'} // America/Belize { // Belize {LETTER 'CST' not single character} // } +// America/Bogota {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Campo_Grande {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Guayaquil {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Lima {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Miquelon {RULES not fixed but FORMAT is missing '%s' or '/'} // America/Moncton { // Moncton {AT '0:01' not multiple of :15 min} // } +// America/Montevideo {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Santiago {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Sao_Paulo {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Baghdad {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Baku {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Dhaka {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Hovd {RULES not fixed but FORMAT is missing '%s' or '/'} // Asia/Kathmandu {STDOFF '5:45' not multiple of :30 min} -// Australia/Eucla {STDOFF '8:45' not multiple of :30 min} +// Asia/Tehran {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Ulaanbaatar {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Yerevan {RULES not fixed but FORMAT is missing '%s' or '/'} +// Atlantic/Azores {RULES not fixed but FORMAT is missing '%s' or '/'} +// Australia/Eucla { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '8:45' not multiple of :30 min, +// } // Australia/Lord_Howe { +// RULES not fixed but FORMAT is missing '%s' or '/', // LH {SAVE '0:30' different from 1:00} // } // Europe/Dublin { // Eire {SAVE '-1:00' is a negative DST} // } -// Pacific/Chatham {STDOFF '12:45' not multiple of :30 min} +// Indian/Mauritius {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Chatham { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '12:45' not multiple of :30 min, +// } +// Pacific/Easter {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Efate {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Fiji {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Galapagos {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Noumea {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Rarotonga {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Tongatapu {RULES not fixed but FORMAT is missing '%s' or '/'} //--------------------------------------------------------------------------- diff --git a/src/zonedb/zone_policies.cpp b/src/zonedb/zone_policies.cpp index 0276893b1..d645b1cae 100644 --- a/src/zonedb/zone_policies.cpp +++ b/src/zonedb/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -81,8 +81,8 @@ namespace ace_time { namespace zonedb { //--------------------------------------------------------------------------- -// Policies: 65 -// Rules: 367 +// Policies: 64 +// Rules: 363 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -1129,68 +1129,6 @@ const basic::ZonePolicy kZonePolicyBrazil ACE_TIME_PROGMEM = { 21 /*numRules*/, }; -//--------------------------------------------------------------------------- -// Policy name: C-Eur -// Rules: 4 -//--------------------------------------------------------------------------- - -static const basic::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = { - // Anchor: Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 - - { - -127 /*fromYearTiny (-32767)*/, - -127 /*toYearTiny (-32767)*/, - 1 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 0 /*atTimeCode*/, - 0 /*atTimeModifier (kSuffixW + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 - - { - -121 /*fromYearTiny (1979)*/, - -105 /*toYearTiny (1995)*/, - 9 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S - { - -119 /*fromYearTiny (1981)*/, - 126 /*toYearTiny (32766)*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 4 /*letterIndex ("S")*/, - }, - // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 - - { - -104 /*fromYearTiny (1996)*/, - 126 /*toYearTiny (32766)*/, - 10 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - -}; - -const basic::ZonePolicy kZonePolicyC_Eur ACE_TIME_PROGMEM = { - kZoneRulesC_Eur /*rules*/, - 4 /*numRules*/, -}; - //--------------------------------------------------------------------------- // Policy name: CO // Rules: 1 diff --git a/src/zonedb/zone_policies.h b/src/zonedb/zone_policies.h index d30c0b287..7d8731da0 100644 --- a/src/zonedb/zone_policies.h +++ b/src/zonedb/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -83,7 +83,7 @@ namespace ace_time { namespace zonedb { //--------------------------------------------------------------------------- -// Supported policies: 65 +// Supported policies: 64 //--------------------------------------------------------------------------- extern const basic::ZonePolicy kZonePolicyAN; @@ -98,7 +98,6 @@ extern const basic::ZonePolicy kZonePolicyAzer; extern const basic::ZonePolicy kZonePolicyBarb; extern const basic::ZonePolicy kZonePolicyBelize; extern const basic::ZonePolicy kZonePolicyBrazil; -extern const basic::ZonePolicy kZonePolicyC_Eur; extern const basic::ZonePolicy kZonePolicyCO; extern const basic::ZonePolicy kZonePolicyCR; extern const basic::ZonePolicy kZonePolicyCanada; @@ -154,7 +153,7 @@ extern const basic::ZonePolicy kZonePolicyZion; //--------------------------------------------------------------------------- -// Unsupported policies: 69 +// Unsupported policies: 70 //--------------------------------------------------------------------------- // Albania {unused} @@ -164,6 +163,7 @@ extern const basic::ZonePolicy kZonePolicyZion; // Belgium {unused} // Bermuda {unused} // Bulg {unused} +// C-Eur {unused} // CA {unused} // Chicago {unused} // Cyprus {unused} diff --git a/src/zonedb/zone_registry.cpp b/src/zonedb/zone_registry.cpp index 48fdb1bbc..28025b0e7 100644 --- a/src/zonedb/zone_registry.cpp +++ b/src/zonedb/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -84,17 +84,10 @@ namespace zonedb { //--------------------------------------------------------------------------- // Zone Info registry. Sorted by zoneId. //--------------------------------------------------------------------------- -const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { +const basic::ZoneInfo* const kZoneRegistry[216] ACE_TIME_PROGMEM = { &kZoneAsia_Jakarta, // 0x0506ab50, Asia/Jakarta &kZoneAmerica_Mazatlan, // 0x0532189e, America/Mazatlan &kZoneAmerica_Hermosillo, // 0x065d21c4, America/Hermosillo - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST - &kZoneWET, // 0x0b882e35, WET &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera @@ -196,7 +189,6 @@ const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { &kZonePacific_Pitcairn, // 0x8837d8bd, Pacific/Pitcairn &kZonePacific_Efate, // 0x8a2bce28, Pacific/Efate &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg &kZoneAustralia_Eucla, // 0x8cf99e44, Australia/Eucla @@ -282,7 +274,6 @@ const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT &kZoneAmerica_Matamoros, // 0xdd1b0259, America/Matamoros &kZonePacific_Kanton, // 0xdd512f0e, Pacific/Kanton &kZoneAsia_Yangon, // 0xdd54a8be, Asia/Yangon @@ -295,10 +286,8 @@ const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { &kZoneAtlantic_Faroe, // 0xe110a971, Atlantic/Faroe &kZonePacific_Noumea, // 0xe551b788, Pacific/Noumea &kZonePacific_Honolulu, // 0xe6e70af9, Pacific/Honolulu - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZonePacific_Guadalcanal, // 0xf4dd25f0, Pacific/Guadalcanal &kZoneAmerica_Danmarkshavn, // 0xf554d204, America/Danmarkshavn @@ -318,7 +307,7 @@ const basic::ZoneInfo* const kZoneRegistry[227] ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone and Link (fat) Info registry. Sorted by zoneId. Links act like Zones. //--------------------------------------------------------------------------- -const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { +const basic::ZoneInfo* const kZoneAndLinkRegistry[447] ACE_TIME_PROGMEM = { &kZoneGB, // 0x005973ae, GB -> Europe/London &kZoneNZ, // 0x005974ad, NZ -> Pacific/Auckland &kZoneAsia_Kuala_Lumpur, // 0x014763c4, Asia/Kuala_Lumpur -> Asia/Singapore @@ -337,19 +326,19 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZoneAmerica_Hermosillo, // 0x065d21c4, America/Hermosillo &kZoneMexico_BajaSur, // 0x08ee3641, Mexico/BajaSur -> America/Mazatlan &kZoneUS_Hawaii, // 0x09c8de2f, US/Hawaii -> Pacific/Honolulu - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST + &kZoneCET, // 0x0b87d921, CET -> Europe/Brussels + &kZoneEET, // 0x0b87e1a3, EET -> Europe/Athens + &kZoneEST, // 0x0b87e371, EST -> America/Panama &kZoneGMT, // 0x0b87eb2d, GMT -> Etc/GMT - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST + &kZoneHST, // 0x0b87f034, HST -> Pacific/Honolulu + &kZoneMET, // 0x0b8803ab, MET -> Europe/Brussels + &kZoneMST, // 0x0b880579, MST -> America/Phoenix &kZonePRC, // 0x0b88120a, PRC -> Asia/Shanghai &kZoneROC, // 0x0b881a29, ROC -> Asia/Taipei &kZoneROK, // 0x0b881a31, ROK -> Asia/Seoul &kZoneUCT, // 0x0b882571, UCT -> Etc/UTC &kZoneUTC, // 0x0b882791, UTC -> Etc/UTC - &kZoneWET, // 0x0b882e35, WET + &kZoneWET, // 0x0b882e35, WET -> Europe/Lisbon &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneEurope_Mariehamn, // 0x0caa6496, Europe/Mariehamn -> Europe/Helsinki &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia @@ -558,7 +547,7 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZoneAustralia_LHI, // 0x8a973e17, Australia/LHI -> Australia/Lord_Howe &kZoneAustralia_NSW, // 0x8a974812, Australia/NSW -> Australia/Sydney &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT + &kZoneEST5EDT, // 0x8adc72a3, EST5EDT -> America/New_York &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZonePacific_Samoa, // 0x8b2699b4, Pacific/Samoa -> Pacific/Pago_Pago &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg @@ -577,6 +566,7 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZoneAfrica_Niamey, // 0x914a30fd, Africa/Niamey -> Africa/Lagos &kZoneAsia_Yerevan, // 0x9185c8cc, Asia/Yerevan &kZoneAmerica_Detroit, // 0x925cfbc1, America/Detroit + &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan -> Asia/Ulaanbaatar &kZoneAmerica_Belize, // 0x93256c81, America/Belize &kZoneAmerica_Bogota, // 0x93d7bc62, America/Bogota &kZoneAmerica_Cayman, // 0x953961df, America/Cayman -> America/Panama @@ -710,7 +700,7 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT + &kZonePST8PDT, // 0xd99ee2dc, PST8PDT -> America/Los_Angeles &kZoneEurope_Bratislava, // 0xda493bed, Europe/Bratislava -> Europe/Prague &kZonePacific_Funafuti, // 0xdb402d65, Pacific/Funafuti -> Pacific/Tarawa &kZoneAmerica_Matamoros, // 0xdd1b0259, America/Matamoros @@ -738,10 +728,10 @@ const basic::ZoneInfo* const kZoneAndLinkRegistry[446] ACE_TIME_PROGMEM = { &kZonePacific_Ponape, // 0xe9f80086, Pacific/Ponape -> Pacific/Guadalcanal &kZoneEurope_Zaporozhye, // 0xeab9767f, Europe/Zaporozhye -> Europe/Kyiv &kZoneEurope_Isle_of_Man, // 0xeaf84580, Europe/Isle_of_Man -> Europe/London - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT + &kZoneCST6CDT, // 0xf0e87d00, CST6CDT -> America/Chicago &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT + &kZoneMST7MDT, // 0xf2af9375, MST7MDT -> America/Denver &kZoneCanada_Eastern, // 0xf3612d5e, Canada/Eastern -> America/Toronto &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZonePacific_Guadalcanal, // 0xf4dd25f0, Pacific/Guadalcanal diff --git a/src/zonedb/zone_registry.h b/src/zonedb/zone_registry.h index cc8021d97..533a6a476 100644 --- a/src/zonedb/zone_registry.h +++ b/src/zonedb/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedb/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedb -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -23,10 +23,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 446 (227 zones, 219 links) -// Unsupported Zones: 150 (124 zones, 26 links) +// Supported Zones: 447 (216 zones, 231 links) +// Unsupported Zones: 149 (123 zones, 26 links) // // Requested Years: [2000,2200] // Accurate Years: [2000,32767] @@ -39,38 +39,38 @@ // Max Buffer Size: 6 // // Records: -// Infos: 446 -// Eras: 239 -// Policies: 65 -// Rules: 367 +// Infos: 447 +// Eras: 228 +// Policies: 64 +// Rules: 363 // // Memory (8-bits): // Context: 16 -// Rules: 3303 -// Policies: 195 -// Eras: 2629 -// Zones: 2951 -// Links: 2847 -// Registry: 892 -// Formats: 467 +// Rules: 3267 +// Policies: 192 +// Eras: 2508 +// Zones: 2808 +// Links: 3003 +// Registry: 894 +// Formats: 175 // Letters: 29 // Fragments: 116 -// Names: 4140 (original: 6495) -// TOTAL: 17585 +// Names: 4152 (original: 6511) +// TOTAL: 17160 // // Memory (32-bits): // Context: 24 -// Rules: 4404 -// Policies: 520 -// Eras: 3824 -// Zones: 5448 -// Links: 5256 -// Registry: 1784 -// Formats: 467 +// Rules: 4356 +// Policies: 512 +// Eras: 3648 +// Zones: 5184 +// Links: 5544 +// Registry: 1788 +// Formats: 175 // Letters: 41 // Fragments: 138 -// Names: 4140 (original: 6495) -// TOTAL: 26046 +// Names: 4152 (original: 6511) +// TOTAL: 25562 // // DO NOT EDIT @@ -83,12 +83,12 @@ namespace ace_time { namespace zonedb { // Zones -const uint16_t kZoneRegistrySize = 227; -extern const basic::ZoneInfo* const kZoneRegistry[227]; +const uint16_t kZoneRegistrySize = 216; +extern const basic::ZoneInfo* const kZoneRegistry[216]; // Zones and Links -const uint16_t kZoneAndLinkRegistrySize = 446; -extern const basic::ZoneInfo* const kZoneAndLinkRegistry[446]; +const uint16_t kZoneAndLinkRegistrySize = 447; +extern const basic::ZoneInfo* const kZoneAndLinkRegistry[447]; } } diff --git a/src/zonedbc/Makefile b/src/zonedbc/Makefile index 3429342a8..43523eab3 100644 --- a/src/zonedbc/Makefile +++ b/src/zonedbc/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 1800 UNTIL_YEAR := 2200 diff --git a/src/zonedbc/zone_infos.cpp b/src/zonedbc/zone_infos.cpp index 5176bfc2e..c80370715 100644 --- a/src/zonedbc/zone_infos.cpp +++ b/src/zonedbc/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT @@ -85,7 +85,7 @@ namespace zonedbc { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -199,8 +199,8 @@ const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = { }; //--------------------------------------------------------------------------- -// Zones: 351 -// Eras: 1963 +// Zones: 339 +// Eras: 1941 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -418,10 +418,10 @@ static const complete::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -1:00 - -01 1975 + // -1:00 - %z 1975 { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -523,10 +523,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Morocco +00/+01 1984 Mar 16 + // 0:00 Morocco %z 1984 Mar 16 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, @@ -536,10 +536,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:00 - +01 1986 + // 1:00 - %z 1986 { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -549,10 +549,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, @@ -562,10 +562,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -745,10 +745,10 @@ static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -1:00 - -01 1976 Apr 14 + // -1:00 - %z 1976 Apr 14 { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -758,10 +758,10 @@ static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, @@ -771,10 +771,10 @@ static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -1046,10 +1046,10 @@ static const complete::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:30 - +0030 1919 Sep 1 + // 0:30 - %z 1919 Sep 1 { nullptr /*zonePolicy*/, - "+0030" /*format*/, + "" /*format*/, 120 /*offsetCode (1800/15)*/, 0 /*offsetRemainder (1800%15)*/, 0 /*deltaMinutes*/, @@ -1092,15 +1092,15 @@ const complete::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = { - // 2:10:20 - LMT 1903 Mar + // 2:10:18 - LMT 1909 { nullptr /*zonePolicy*/, "LMT" /*format*/, - 521 /*offsetCode (7820/15)*/, - 5 /*offsetRemainder (7820%15)*/, + 521 /*offsetCode (7818/15)*/, + 3 /*offsetRemainder (7818%15)*/, 0 /*deltaMinutes*/, - 1903 /*untilYear*/, - 3 /*untilMonth*/, + 1909 /*untilYear*/, + 1 /*untilMonth*/, 1 /*untilDay*/, 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, @@ -1223,10 +1223,10 @@ static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 2:30 - +0230 1928 Jun 30 24:00 + // 2:30 - %z 1928 Jun 30 24:00 { nullptr /*zonePolicy*/, - "+0230" /*format*/, + "" /*format*/, 600 /*offsetCode (9000/15)*/, 0 /*offsetRemainder (9000%15)*/, 0 /*deltaMinutes*/, @@ -1249,10 +1249,10 @@ static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 2:30 - +0230 1936 Dec 31 24:00 + // 2:30 - %z 1936 Dec 31 24:00 { nullptr /*zonePolicy*/, - "+0230" /*format*/, + "" /*format*/, 600 /*offsetCode (9000/15)*/, 0 /*offsetRemainder (9000%15)*/, 0 /*deltaMinutes*/, @@ -1262,10 +1262,10 @@ static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 2:45 - +0245 1942 Jul 31 24:00 + // 2:45 - %z 1942 Jul 31 24:00 { nullptr /*zonePolicy*/, - "+0245" /*format*/, + "" /*format*/, 660 /*offsetCode (9900/15)*/, 0 /*offsetRemainder (9900%15)*/, 0 /*deltaMinutes*/, @@ -1674,10 +1674,10 @@ static const complete::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:30 - +0130 1903 Mar + // 1:30 - %z 1903 Mar { nullptr /*zonePolicy*/, - "+0130" /*format*/, + "" /*format*/, 360 /*offsetCode (5400/15)*/, 0 /*offsetRemainder (5400%15)*/, 0 /*deltaMinutes*/, @@ -2033,10 +2033,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1990 Sep 17 + // -3:00 Brazil %z 1990 Sep 17 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2046,10 +2046,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1995 Sep 14 + // -3:00 - %z 1995 Sep 14 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2059,10 +2059,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2003 Sep 24 + // -3:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2072,10 +2072,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2012 Oct 21 + // -3:00 - %z 2012 Oct 21 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2085,10 +2085,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2013 Sep + // -3:00 Brazil %z 2013 Sep { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2098,10 +2098,10 @@ static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2157,10 +2157,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2170,10 +2170,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2183,10 +2183,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2196,10 +2196,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2209,10 +2209,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2268,10 +2268,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2281,10 +2281,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2294,10 +2294,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 3 + // -3:00 Arg %z 1991 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2307,10 +2307,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 20 + // -4:00 - %z 1991 Oct 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2320,10 +2320,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2333,10 +2333,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2346,10 +2346,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2359,10 +2359,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2372,10 +2372,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2385,10 +2385,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2444,10 +2444,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2457,10 +2457,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2470,10 +2470,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 3 + // -3:00 Arg %z 1991 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2483,10 +2483,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 20 + // -4:00 - %z 1991 Oct 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2496,10 +2496,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2509,10 +2509,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2522,10 +2522,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2581,10 +2581,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2594,10 +2594,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2607,10 +2607,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1990 Mar 4 + // -3:00 Arg %z 1990 Mar 4 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2620,10 +2620,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1990 Oct 28 + // -4:00 - %z 1990 Oct 28 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2633,10 +2633,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 1991 Mar 17 + // -4:00 1:00 %z 1991 Mar 17 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -2646,10 +2646,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 6 + // -4:00 - %z 1991 Oct 6 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2659,10 +2659,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 1:00 -02 1992 + // -3:00 1:00 %z 1992 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 60 /*deltaMinutes*/, @@ -2672,10 +2672,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2685,10 +2685,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2698,10 +2698,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2711,10 +2711,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2770,10 +2770,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2783,10 +2783,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2796,10 +2796,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 1 + // -3:00 Arg %z 1991 Mar 1 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2809,10 +2809,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 May 7 + // -4:00 - %z 1991 May 7 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2822,10 +2822,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2835,10 +2835,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2848,10 +2848,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2861,10 +2861,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2874,10 +2874,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2887,10 +2887,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2946,10 +2946,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2959,10 +2959,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2972,10 +2972,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1990 Mar 4 + // -3:00 Arg %z 1990 Mar 4 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -2985,10 +2985,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1990 Oct 15 + // -4:00 - %z 1990 Oct 15 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -2998,10 +2998,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 1991 Mar 1 + // -4:00 1:00 %z 1991 Mar 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -3011,10 +3011,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 15 + // -4:00 - %z 1991 Oct 15 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3024,10 +3024,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 1992 Mar 1 + // -4:00 1:00 %z 1992 Mar 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -3037,10 +3037,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1992 Oct 18 + // -4:00 - %z 1992 Oct 18 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3050,10 +3050,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3063,10 +3063,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3076,10 +3076,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 May 23 + // -3:00 - %z 2004 May 23 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3089,10 +3089,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Sep 26 + // -4:00 - %z 2004 Sep 26 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3102,10 +3102,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3115,10 +3115,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3174,10 +3174,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3187,10 +3187,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3200,10 +3200,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3213,10 +3213,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3226,10 +3226,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3239,10 +3239,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3252,10 +3252,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3265,10 +3265,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3324,10 +3324,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3337,10 +3337,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3350,10 +3350,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 3 + // -3:00 Arg %z 1991 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3363,10 +3363,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 20 + // -4:00 - %z 1991 Oct 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3376,10 +3376,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3389,10 +3389,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3402,10 +3402,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3415,10 +3415,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3474,10 +3474,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3487,10 +3487,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3500,10 +3500,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 1 + // -3:00 Arg %z 1991 Mar 1 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3513,10 +3513,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 May 7 + // -4:00 - %z 1991 May 7 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3526,10 +3526,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3539,10 +3539,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3552,10 +3552,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 May 31 + // -3:00 - %z 2004 May 31 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3565,10 +3565,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jul 25 + // -4:00 - %z 2004 Jul 25 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3578,10 +3578,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3591,10 +3591,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3650,10 +3650,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3663,10 +3663,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3676,10 +3676,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1990 + // -3:00 Arg %z 1990 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3689,10 +3689,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 1:00 -02 1990 Mar 14 + // -3:00 1:00 %z 1990 Mar 14 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 60 /*deltaMinutes*/, @@ -3702,10 +3702,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1990 Oct 15 + // -4:00 - %z 1990 Oct 15 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3715,10 +3715,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 1991 Mar 1 + // -4:00 1:00 %z 1991 Mar 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -3728,10 +3728,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Jun 1 + // -4:00 - %z 1991 Jun 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3741,10 +3741,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1999 Oct 3 + // -3:00 - %z 1999 Oct 3 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3754,10 +3754,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 2000 Mar 3 + // -4:00 1:00 %z 2000 Mar 3 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -3767,10 +3767,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 May 31 + // -3:00 - %z 2004 May 31 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3780,10 +3780,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jul 25 + // -4:00 - %z 2004 Jul 25 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3793,10 +3793,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Jan 21 + // -3:00 Arg %z 2008 Jan 21 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3806,10 +3806,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 SanLuis -04/-03 2009 Oct 11 + // -4:00 SanLuis %z 2009 Oct 11 { &kZonePolicySanLuis /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3819,10 +3819,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3878,10 +3878,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3891,10 +3891,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3904,10 +3904,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1991 Mar 3 + // -3:00 Arg %z 1991 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3917,10 +3917,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1991 Oct 20 + // -4:00 - %z 1991 Oct 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3930,10 +3930,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3943,10 +3943,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3956,10 +3956,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -3969,10 +3969,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jun 13 + // -4:00 - %z 2004 Jun 13 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -3982,10 +3982,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4041,10 +4041,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1930 Dec + // -4:00 - %z 1930 Dec { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4054,10 +4054,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4067,10 +4067,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4080,10 +4080,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4093,10 +4093,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2004 May 30 + // -3:00 - %z 2004 May 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4106,10 +4106,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4119,10 +4119,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4132,10 +4132,10 @@ static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4191,10 +4191,10 @@ static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1972 Oct + // -4:00 - %z 1972 Oct { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4204,10 +4204,10 @@ static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1974 Apr + // -3:00 - %z 1974 Apr { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4217,10 +4217,10 @@ static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Para -04/-03 + // -4:00 Para %z { &kZonePolicyPara /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4263,10 +4263,10 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2003 Sep 24 + // -3:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4276,10 +4276,10 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2011 Oct 16 + // -3:00 - %z 2011 Oct 16 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4289,10 +4289,10 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2012 Oct 21 + // -3:00 Brazil %z 2012 Oct 21 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4302,10 +4302,10 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4331,7 +4331,7 @@ const complete::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Bahia_Banderas -// Eras: 9 +// Eras: 8 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = { @@ -4348,7 +4348,7 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -4358,7 +4358,7 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -4400,26 +4400,13 @@ static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -7:00 - MST 1949 Jan 14 + // -7:00 - MST 1970 { nullptr /*zonePolicy*/, "MST" /*format*/, -1680 /*offsetCode (-25200/15)*/, 0 /*offsetRemainder (-25200%15)*/, 0 /*deltaMinutes*/, - 1949 /*untilYear*/, - 1 /*untilMonth*/, - 14 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // -8:00 - PST 1970 - { - nullptr /*zonePolicy*/, - "PST" /*format*/, - -1920 /*offsetCode (-28800/15)*/, - 0 /*offsetRemainder (-28800%15)*/, - 0 /*deltaMinutes*/, 1970 /*untilYear*/, 1 /*untilMonth*/, 1 /*untilDay*/, @@ -4461,7 +4448,7 @@ const complete::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = { kZoneNameAmerica_Bahia_Banderas /*name*/, 0x14f6329a /*zoneId*/, &kZoneContext /*zoneContext*/, - 9 /*numEras*/, + 8 /*numEras*/, kZoneEraAmerica_Bahia_Banderas /*eras*/, nullptr /*targetInfo*/, }; @@ -4557,10 +4544,10 @@ static const complete::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1988 Sep 12 + // -3:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4570,10 +4557,10 @@ static const complete::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -4662,10 +4649,10 @@ static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 1988 Sep 12 + // -4:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4675,10 +4662,10 @@ static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1999 Sep 30 + // -4:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4688,10 +4675,10 @@ static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 2000 Oct 15 + // -4:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4701,10 +4688,10 @@ static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -4760,10 +4747,10 @@ static const complete::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 CO -05/-04 + // -5:00 CO %z { &kZonePolicyCO /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -4989,10 +4976,10 @@ static const complete::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 + // -4:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5018,7 +5005,7 @@ const complete::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Cancun -// Eras: 5 +// Eras: 7 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = { @@ -5035,7 +5022,7 @@ static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = { 1440 /*untilTimeCode (21600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -6:00 - CST 1981 Dec 23 + // -6:00 - CST 1981 Dec 26 2:00 { nullptr /*zonePolicy*/, "CST" /*format*/, @@ -5044,10 +5031,36 @@ static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 1981 /*untilYear*/, 12 /*untilMonth*/, - 23 /*untilDay*/, + 26 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -5:00 - EST 1983 Jan 4 0:00 + { + nullptr /*zonePolicy*/, + "EST" /*format*/, + -1200 /*offsetCode (-18000/15)*/, + 0 /*offsetRemainder (-18000%15)*/, + 0 /*deltaMinutes*/, + 1983 /*untilYear*/, + 1 /*untilMonth*/, + 4 /*untilDay*/, 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, + // -6:00 Mexico C%sT 1997 Oct 26 2:00 + { + &kZonePolicyMexico /*zonePolicy*/, + "C%T" /*format*/, + -1440 /*offsetCode (-21600/15)*/, + 0 /*offsetRemainder (-21600%15)*/, + 0 /*deltaMinutes*/, + 1997 /*untilYear*/, + 10 /*untilMonth*/, + 26 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, // -5:00 Mexico E%sT 1998 Aug 2 2:00 { &kZonePolicyMexico /*zonePolicy*/, @@ -5096,7 +5109,7 @@ const complete::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = { kZoneNameAmerica_Cancun /*name*/, 0x953331be /*zoneId*/, &kZoneContext /*zoneContext*/, - 5 /*numEras*/, + 7 /*numEras*/, kZoneEraAmerica_Cancun /*eras*/, nullptr /*targetInfo*/, }; @@ -5133,10 +5146,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:30 - -0430 1965 Jan 1 0:00 + // -4:30 - %z 1965 Jan 1 0:00 { nullptr /*zonePolicy*/, - "-0430" /*format*/, + "" /*format*/, -1080 /*offsetCode (-16200/15)*/, 0 /*offsetRemainder (-16200%15)*/, 0 /*deltaMinutes*/, @@ -5146,10 +5159,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2007 Dec 9 3:00 + // -4:00 - %z 2007 Dec 9 3:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5159,10 +5172,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:30 - -0430 2016 May 1 2:30 + // -4:30 - %z 2016 May 1 2:30 { nullptr /*zonePolicy*/, - "-0430" /*format*/, + "" /*format*/, -1080 /*offsetCode (-16200/15)*/, 0 /*offsetRemainder (-16200%15)*/, 0 /*deltaMinutes*/, @@ -5172,10 +5185,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 600 /*untilTimeCode (9000/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5218,10 +5231,10 @@ static const complete::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1967 Oct + // -4:00 - %z 1967 Oct { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5231,10 +5244,10 @@ static const complete::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -5401,7 +5414,7 @@ static const complete::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = { 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -5411,7 +5424,7 @@ static const complete::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = { 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -5538,7 +5551,7 @@ static const complete::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -5548,7 +5561,7 @@ static const complete::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -5760,10 +5773,10 @@ static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 2003 Sep 24 + // -4:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5773,10 +5786,10 @@ static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2004 Oct 1 + // -4:00 - %z 2004 Oct 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5786,10 +5799,10 @@ static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 + // -4:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -5832,10 +5845,10 @@ static const complete::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1980 Apr 6 2:00 + // -3:00 - %z 1980 Apr 6 2:00 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -5845,10 +5858,10 @@ static const complete::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 EU -03/-02 1996 + // -3:00 EU %z 1996 { &kZonePolicyEU /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6381,10 +6394,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Brazil -05/-04 1988 Sep 12 + // -5:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -6394,10 +6407,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1993 Sep 28 + // -5:00 - %z 1993 Sep 28 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -6407,10 +6420,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Brazil -05/-04 1994 Sep 22 + // -5:00 Brazil %z 1994 Sep 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -6420,10 +6433,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 2008 Jun 24 0:00 + // -5:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -6433,10 +6446,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2013 Nov 10 + // -4:00 - %z 2013 Nov 10 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -6446,10 +6459,10 @@ static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 + // -5:00 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -6636,10 +6649,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1990 Sep 17 + // -3:00 Brazil %z 1990 Sep 17 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6649,10 +6662,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6662,10 +6675,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 22 + // -3:00 Brazil %z 2000 Oct 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6675,10 +6688,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6688,10 +6701,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -6701,10 +6714,10 @@ static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -7152,10 +7165,10 @@ static const complete::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Ecuador -05/-04 + // -5:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -7198,10 +7211,10 @@ static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1915 Mar 1 + // -4:00 - %z 1915 Mar 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -7211,10 +7224,10 @@ static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:45 - -0345 1975 Aug 1 + // -3:45 - %z 1975 Aug 1 { nullptr /*zonePolicy*/, - "-0345" /*format*/, + "" /*format*/, -900 /*offsetCode (-13500/15)*/, 0 /*offsetRemainder (-13500%15)*/, 0 /*deltaMinutes*/, @@ -7224,10 +7237,10 @@ static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1992 Mar 29 1:00 + // -3:00 - %z 1992 Mar 29 1:00 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -7237,10 +7250,10 @@ static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -7436,7 +7449,7 @@ const complete::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Hermosillo -// Eras: 9 +// Eras: 8 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = { @@ -7453,7 +7466,7 @@ static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = { 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -7463,7 +7476,7 @@ static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = { 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -7505,27 +7518,14 @@ static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -7:00 - MST 1949 Jan 14 + // -7:00 - MST 1996 { nullptr /*zonePolicy*/, "MST" /*format*/, -1680 /*offsetCode (-25200/15)*/, 0 /*offsetRemainder (-25200%15)*/, 0 /*deltaMinutes*/, - 1949 /*untilYear*/, - 1 /*untilMonth*/, - 14 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // -8:00 - PST 1970 - { - nullptr /*zonePolicy*/, - "PST" /*format*/, - -1920 /*offsetCode (-28800/15)*/, - 0 /*offsetRemainder (-28800%15)*/, - 0 /*deltaMinutes*/, - 1970 /*untilYear*/, + 1996 /*untilYear*/, 1 /*untilMonth*/, 1 /*untilDay*/, 0 /*untilTimeCode (0/15)*/, @@ -7566,7 +7566,7 @@ const complete::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = { kZoneNameAmerica_Hermosillo /*name*/, 0x065d21c4 /*zoneId*/, &kZoneContext /*zoneContext*/, - 9 /*numEras*/, + 8 /*numEras*/, kZoneEraAmerica_Hermosillo /*eras*/, nullptr /*targetInfo*/, }; @@ -9222,10 +9222,10 @@ static const complete::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -9281,10 +9281,10 @@ static const complete::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Peru -05/-04 + // -5:00 Peru %z { &kZonePolicyPeru /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -9399,10 +9399,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1990 Sep 17 + // -3:00 Brazil %z 1990 Sep 17 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9412,10 +9412,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1995 Oct 13 + // -3:00 - %z 1995 Oct 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9425,10 +9425,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1996 Sep 4 + // -3:00 Brazil %z 1996 Sep 4 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9438,10 +9438,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9451,10 +9451,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 22 + // -3:00 Brazil %z 2000 Oct 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9464,10 +9464,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9477,10 +9477,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9490,10 +9490,10 @@ static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -9673,10 +9673,10 @@ static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 1988 Sep 12 + // -4:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -9686,10 +9686,10 @@ static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1993 Sep 28 + // -4:00 - %z 1993 Sep 28 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -9699,10 +9699,10 @@ static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 1994 Sep 22 + // -4:00 Brazil %z 1994 Sep 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -9712,10 +9712,10 @@ static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -9911,7 +9911,7 @@ const complete::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Mazatlan -// Eras: 8 +// Eras: 7 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = { @@ -9928,7 +9928,7 @@ static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = { 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -9938,7 +9938,7 @@ static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = { 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -9980,26 +9980,13 @@ static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -7:00 - MST 1949 Jan 14 + // -7:00 - MST 1970 { nullptr /*zonePolicy*/, "MST" /*format*/, -1680 /*offsetCode (-25200/15)*/, 0 /*offsetRemainder (-25200%15)*/, 0 /*deltaMinutes*/, - 1949 /*untilYear*/, - 1 /*untilMonth*/, - 14 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // -8:00 - PST 1970 - { - nullptr /*zonePolicy*/, - "PST" /*format*/, - -1920 /*offsetCode (-28800/15)*/, - 0 /*offsetRemainder (-28800%15)*/, - 0 /*deltaMinutes*/, 1970 /*untilYear*/, 1 /*untilMonth*/, 1 /*untilDay*/, @@ -10028,7 +10015,7 @@ const complete::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = { kZoneNameAmerica_Mazatlan /*name*/, 0x0532189e /*zoneId*/, &kZoneContext /*zoneContext*/, - 8 /*numEras*/, + 7 /*numEras*/, kZoneEraAmerica_Mazatlan /*eras*/, nullptr /*targetInfo*/, }; @@ -10137,7 +10124,7 @@ static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = { 1440 /*untilTimeCode (21600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -6:00 - CST 1981 Dec 23 + // -6:00 - CST 1981 Dec 26 2:00 { nullptr /*zonePolicy*/, "CST" /*format*/, @@ -10146,11 +10133,11 @@ static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 1981 /*untilYear*/, 12 /*untilMonth*/, - 23 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, + 26 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - EST 1982 Dec 2 + // -5:00 - EST 1982 Nov 2 2:00 { nullptr /*zonePolicy*/, "EST" /*format*/, @@ -10158,9 +10145,9 @@ static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = { 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, 1982 /*untilYear*/, - 12 /*untilMonth*/, + 11 /*untilMonth*/, 2 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, + 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 Mexico C%sT @@ -10359,7 +10346,7 @@ static const complete::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -10369,7 +10356,7 @@ static const complete::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -10483,10 +10470,10 @@ static const complete::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1987 + // -3:00 - %z 1987 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10496,10 +10483,10 @@ static const complete::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Canada -03/-02 + // -3:00 Canada %z { &kZonePolicyCanada /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10662,7 +10649,7 @@ const complete::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Monterrey -// Eras: 4 +// Eras: 7 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = { @@ -10679,6 +10666,45 @@ static const complete::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = { 1440 /*untilTimeCode (21600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, + // -7:00 - MST 1927 Jun 10 + { + nullptr /*zonePolicy*/, + "MST" /*format*/, + -1680 /*offsetCode (-25200/15)*/, + 0 /*offsetRemainder (-25200%15)*/, + 0 /*deltaMinutes*/, + 1927 /*untilYear*/, + 6 /*untilMonth*/, + 10 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -6:00 - CST 1930 Nov 15 + { + nullptr /*zonePolicy*/, + "CST" /*format*/, + -1440 /*offsetCode (-21600/15)*/, + 0 /*offsetRemainder (-21600%15)*/, + 0 /*deltaMinutes*/, + 1930 /*untilYear*/, + 11 /*untilMonth*/, + 15 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -7:00 Mexico M%sT 1932 Apr 1 + { + &kZonePolicyMexico /*zonePolicy*/, + "M%T" /*format*/, + -1680 /*offsetCode (-25200/15)*/, + 0 /*offsetRemainder (-25200%15)*/, + 0 /*deltaMinutes*/, + 1932 /*untilYear*/, + 4 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, // -6:00 - CST 1988 { nullptr /*zonePolicy*/, @@ -10727,7 +10753,7 @@ const complete::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = { kZoneNameAmerica_Monterrey /*name*/, 0x269a1deb /*zoneId*/, &kZoneContext /*zoneContext*/, - 4 /*numEras*/, + 7 /*numEras*/, kZoneEraAmerica_Monterrey /*eras*/, nullptr /*targetInfo*/, }; @@ -10764,10 +10790,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1923 Oct 1 + // -4:00 - %z 1923 Oct 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -10777,10 +10803,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:30 Uruguay -0330/-03 1942 Dec 14 + // -3:30 Uruguay %z 1942 Dec 14 { &kZonePolicyUruguay /*zonePolicy*/, - "-0330/-03" /*format*/, + "" /*format*/, -840 /*offsetCode (-12600/15)*/, 0 /*offsetRemainder (-12600%15)*/, 0 /*deltaMinutes*/, @@ -10790,10 +10816,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-0230 1960 + // -3:00 Uruguay %z 1960 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-0230" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10803,10 +10829,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-02 1968 + // -3:00 Uruguay %z 1968 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10816,10 +10842,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-0230 1970 + // -3:00 Uruguay %z 1970 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-0230" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10829,10 +10855,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-02 1974 + // -3:00 Uruguay %z 1974 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10842,10 +10868,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-0130 1974 Mar 10 + // -3:00 Uruguay %z 1974 Mar 10 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-0130" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10855,10 +10881,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-0230 1974 Dec 22 + // -3:00 Uruguay %z 1974 Dec 22 { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-0230" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -10868,10 +10894,10 @@ static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Uruguay -03/-02 + // -3:00 Uruguay %z { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -11149,10 +11175,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 Brazil -02/-01 1990 Sep 17 + // -2:00 Brazil %z 1990 Sep 17 { &kZonePolicyBrazil /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11162,10 +11188,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 1999 Sep 30 + // -2:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11175,10 +11201,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 Brazil -02/-01 2000 Oct 15 + // -2:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11188,10 +11214,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 2001 Sep 13 + // -2:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11201,10 +11227,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 Brazil -02/-01 2002 Oct 1 + // -2:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11214,10 +11240,10 @@ static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 + // -2:00 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11437,10 +11463,10 @@ static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1980 Apr 6 2:00 + // -3:00 - %z 1980 Apr 6 2:00 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -11450,10 +11476,10 @@ static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 EU -03/-02 2023 Mar 26 1:00u + // -3:00 EU %z 2023 Mar 26 1:00u { &kZonePolicyEU /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -11463,10 +11489,10 @@ static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -2:00 - -02 2023 Oct 29 1:00u + // -2:00 - %z 2023 Oct 29 1:00u { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11476,10 +11502,10 @@ static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -2:00 EU -02/-01 + // -2:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -11522,7 +11548,7 @@ static const complete::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = { 1680 /*untilTimeCode (25200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -7:00 - MST 1927 Jun 10 23:00 + // -7:00 - MST 1927 Jun 10 { nullptr /*zonePolicy*/, "MST" /*format*/, @@ -11532,7 +11558,7 @@ static const complete::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = { 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -6:00 - CST 1930 Nov 15 @@ -11770,10 +11796,10 @@ static const complete::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:30 - -0330 1984 Oct + // -3:30 - %z 1984 Oct { nullptr /*zonePolicy*/, - "-0330" /*format*/, + "" /*format*/, -840 /*offsetCode (-12600/15)*/, 0 /*offsetRemainder (-12600%15)*/, 0 /*deltaMinutes*/, @@ -11783,10 +11809,10 @@ static const complete::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -11999,10 +12025,10 @@ static const complete::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 1988 Sep 12 + // -4:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12012,10 +12038,10 @@ static const complete::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12143,10 +12169,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1916 Jul 1 + // -5:00 - %z 1916 Jul 1 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12169,10 +12195,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1919 Jul 1 + // -4:00 - %z 1919 Jul 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12195,10 +12221,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Chile -05/-04 1932 Sep 1 + // -5:00 Chile %z 1932 Sep 1 { &kZonePolicyChile /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12208,10 +12234,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1942 Jun 1 + // -4:00 - %z 1942 Jun 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12221,10 +12247,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1942 Aug 1 + // -5:00 - %z 1942 Aug 1 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12234,10 +12260,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1946 Aug 28 24:00 + // -4:00 - %z 1946 Aug 28 24:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12247,10 +12273,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 1:00 -04 1947 Mar 31 24:00 + // -5:00 1:00 %z 1947 Mar 31 24:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 60 /*deltaMinutes*/, @@ -12260,10 +12286,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1947 May 21 23:00 + // -5:00 - %z 1947 May 21 23:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12273,10 +12299,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Chile -04/-03 2016 Dec 4 + // -4:00 Chile %z 2016 Dec 4 { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12286,10 +12312,10 @@ static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12404,10 +12430,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1990 Sep 17 + // -3:00 Brazil %z 1990 Sep 17 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12417,10 +12443,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12430,10 +12456,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 15 + // -3:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12443,10 +12469,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12456,10 +12482,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12469,10 +12495,10 @@ static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12672,10 +12698,10 @@ static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Brazil -05/-04 1988 Sep 12 + // -5:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12685,10 +12711,10 @@ static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 2008 Jun 24 0:00 + // -5:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12698,10 +12724,10 @@ static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2013 Nov 10 + // -4:00 - %z 2013 Nov 10 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12711,10 +12737,10 @@ static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 + // -5:00 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12757,10 +12783,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Brazil -04/-03 1988 Sep 12 + // -4:00 Brazil %z 1988 Sep 12 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12770,10 +12796,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 2008 Jun 24 0:00 + // -4:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12783,10 +12809,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -12842,10 +12868,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1916 Jul 1 + // -5:00 - %z 1916 Jul 1 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12868,10 +12894,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1919 Jul 1 + // -4:00 - %z 1919 Jul 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12894,10 +12920,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 Chile -05/-04 1932 Sep 1 + // -5:00 Chile %z 1932 Sep 1 { &kZonePolicyChile /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12907,10 +12933,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1942 Jun 1 + // -4:00 - %z 1942 Jun 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12920,10 +12946,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1942 Aug 1 + // -5:00 - %z 1942 Aug 1 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12933,10 +12959,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 1946 Jul 14 24:00 + // -4:00 - %z 1946 Jul 14 24:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -12946,10 +12972,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 1:00 -03 1946 Aug 28 24:00 + // -4:00 1:00 %z 1946 Aug 28 24:00 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 60 /*deltaMinutes*/, @@ -12959,10 +12985,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 1:00 -04 1947 Mar 31 24:00 + // -5:00 1:00 %z 1947 Mar 31 24:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 60 /*deltaMinutes*/, @@ -12972,10 +12998,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1947 May 21 23:00 + // -5:00 - %z 1947 May 21 23:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -12985,10 +13011,10 @@ static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Chile -04/-03 + // -4:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -13129,10 +13155,10 @@ static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 1963 Oct 23 0:00 + // -3:00 Brazil %z 1963 Oct 23 0:00 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -13142,10 +13168,10 @@ static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 1:00 -02 1964 + // -3:00 1:00 %z 1964 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 60 /*deltaMinutes*/, @@ -13155,10 +13181,10 @@ static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Brazil -03/-02 + // -3:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -13201,10 +13227,10 @@ static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 1980 Apr 6 2:00 + // -2:00 - %z 1980 Apr 6 2:00 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -13214,10 +13240,10 @@ static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 C-Eur -02/-01 1981 Mar 29 + // -2:00 C-Eur %z 1981 Mar 29 { &kZonePolicyC_Eur /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -13227,10 +13253,10 @@ static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -1:00 EU -01/+00 2024 Mar 31 + // -1:00 EU %z 2024 Mar 31 { &kZonePolicyEU /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -13240,10 +13266,10 @@ static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 EU -02/-01 + // -2:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -13694,7 +13720,7 @@ const complete::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: America/Tijuana -// Eras: 19 +// Eras: 25 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { @@ -13724,7 +13750,7 @@ static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -8:00 - PST 1927 Jun 10 23:00 + // -8:00 - PST 1927 Jun 10 { nullptr /*zonePolicy*/, "PST" /*format*/, @@ -13734,7 +13760,7 @@ static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { 1927 /*untilYear*/, 6 /*untilMonth*/, 10 /*untilDay*/, - 5520 /*untilTimeCode (82800/15)*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // -7:00 - MST 1930 Nov 15 @@ -13802,7 +13828,7 @@ static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -8:00 1:00 PPT 1945 Nov 12 + // -8:00 1:00 PPT 1945 Nov 15 { nullptr /*zonePolicy*/, "PPT" /*format*/, @@ -13811,7 +13837,7 @@ static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 1945 /*untilYear*/, 11 /*untilMonth*/, - 12 /*untilDay*/, + 15 /*untilDay*/, 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, @@ -13841,6 +13867,84 @@ static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, + // -8:00 - PST 1950 May 1 + { + nullptr /*zonePolicy*/, + "PST" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 0 /*deltaMinutes*/, + 1950 /*untilYear*/, + 5 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -8:00 1:00 PDT 1950 Sep 24 + { + nullptr /*zonePolicy*/, + "PDT" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 60 /*deltaMinutes*/, + 1950 /*untilYear*/, + 9 /*untilMonth*/, + 24 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -8:00 - PST 1951 Apr 29 2:00 + { + nullptr /*zonePolicy*/, + "PST" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 0 /*deltaMinutes*/, + 1951 /*untilYear*/, + 4 /*untilMonth*/, + 29 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -8:00 1:00 PDT 1951 Sep 30 2:00 + { + nullptr /*zonePolicy*/, + "PDT" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 60 /*deltaMinutes*/, + 1951 /*untilYear*/, + 9 /*untilMonth*/, + 30 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -8:00 - PST 1952 Apr 27 2:00 + { + nullptr /*zonePolicy*/, + "PST" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 0 /*deltaMinutes*/, + 1952 /*untilYear*/, + 4 /*untilMonth*/, + 27 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, + // -8:00 1:00 PDT 1952 Sep 28 2:00 + { + nullptr /*zonePolicy*/, + "PDT" /*format*/, + -1920 /*offsetCode (-28800/15)*/, + 0 /*offsetRemainder (-28800%15)*/, + 60 /*deltaMinutes*/, + 1952 /*untilYear*/, + 9 /*untilMonth*/, + 28 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + }, // -8:00 - PST 1954 { nullptr /*zonePolicy*/, @@ -13954,7 +14058,7 @@ const complete::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = { kZoneNameAmerica_Tijuana /*name*/, 0x6aa1df72 /*zoneId*/, &kZoneContext /*zoneContext*/, - 19 /*numEras*/, + 25 /*numEras*/, kZoneEraAmerica_Tijuana /*eras*/, nullptr /*targetInfo*/, }; @@ -14403,10 +14507,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2009 Oct 18 2:00 + // 8:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14416,10 +14520,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2010 Mar 5 2:00 + // 11:00 - %z 2010 Mar 5 2:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14429,10 +14533,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2011 Oct 28 2:00 + // 8:00 - %z 2011 Oct 28 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14442,10 +14546,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2012 Feb 21 17:00u + // 11:00 - %z 2012 Feb 21 17:00u { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14455,10 +14559,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 4080 /*untilTimeCode (61200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 8:00 - +08 2016 Oct 22 + // 8:00 - %z 2016 Oct 22 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14468,10 +14572,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2018 Mar 11 4:00 + // 11:00 - %z 2018 Mar 11 4:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14481,10 +14585,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 960 /*untilTimeCode (14400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2018 Oct 7 4:00 + // 8:00 - %z 2018 Oct 7 4:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14494,10 +14598,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 960 /*untilTimeCode (14400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2019 Mar 17 3:00 + // 11:00 - %z 2019 Mar 17 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14507,10 +14611,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2019 Oct 4 3:00 + // 8:00 - %z 2019 Oct 4 3:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14520,10 +14624,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2020 Mar 8 3:00 + // 11:00 - %z 2020 Mar 8 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14533,10 +14637,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2020 Oct 4 0:01 + // 8:00 - %z 2020 Oct 4 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14546,10 +14650,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 4 /*untilTimeCode (60/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2021 Mar 14 0:00 + // 11:00 - %z 2021 Mar 14 0:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14559,10 +14663,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2021 Oct 3 0:01 + // 8:00 - %z 2021 Oct 3 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14572,10 +14676,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 4 /*untilTimeCode (60/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2022 Mar 13 0:00 + // 11:00 - %z 2022 Mar 13 0:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14585,10 +14689,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2022 Oct 2 0:01 + // 8:00 - %z 2022 Oct 2 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14598,10 +14702,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 4 /*untilTimeCode (60/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 2023 Mar 9 3:00 + // 11:00 - %z 2023 Mar 9 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -14611,10 +14715,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -14657,10 +14761,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1964 Nov + // 7:00 - %z 1964 Nov { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -14683,10 +14787,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 2009 Oct 18 2:00 + // 7:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -14696,10 +14800,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 2010 Mar 10 20:00u + // 5:00 - %z 2010 Mar 10 20:00u { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -14709,10 +14813,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 4800 /*untilTimeCode (72000/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 7:00 - +07 2011 Oct 28 2:00 + // 7:00 - %z 2011 Oct 28 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -14722,10 +14826,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 2012 Feb 21 20:00u + // 5:00 - %z 2012 Feb 21 20:00u { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -14735,10 +14839,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 4800 /*untilTimeCode (72000/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -14918,10 +15022,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 2009 Oct 18 2:00 + // 6:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -14931,10 +15035,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -14977,10 +15081,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Arg -04/-03 1969 Oct 5 + // -4:00 Arg %z 1969 Oct 5 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -14990,10 +15094,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Arg -03/-02 1982 May + // -3:00 Arg %z 1982 May { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -15003,10 +15107,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Chile -04/-03 2016 Dec 4 + // -4:00 Chile %z 2016 Dec 4 { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -15016,10 +15120,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -15062,10 +15166,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -15154,10 +15258,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1994 Feb + // 7:00 - %z 1994 Feb { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -15180,10 +15284,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 2023 Dec 18 2:00 + // 7:00 - %z 2023 Dec 18 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -15193,10 +15297,10 @@ static const complete::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15239,10 +15343,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1930 Jun 21 + // 5:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15252,10 +15356,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s + // 6:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15265,10 +15369,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s + // 5:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15278,10 +15382,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s + // 6:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15291,10 +15395,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2024 Mar 1 0:00 + // 6:00 - %z 2024 Mar 1 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15304,10 +15408,10 @@ static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15363,10 +15467,10 @@ static const complete::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -15409,10 +15513,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 - +12 1930 Jun 21 + // 12:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -15422,10 +15526,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 Russia +13/+14 1982 Apr 1 0:00s + // 13:00 Russia %z 1982 Apr 1 0:00s { &kZonePolicyRussia /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -15435,10 +15539,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 Russia +12/+13 1991 Mar 31 2:00s + // 12:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -15448,10 +15552,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 1992 Jan 19 2:00s + // 11:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -15461,10 +15565,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 Russia +12/+13 2010 Mar 28 2:00s + // 12:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -15474,10 +15578,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -15487,10 +15591,10 @@ static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -15533,10 +15637,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15546,10 +15650,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Oct 1 + // 5:00 - %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15559,10 +15663,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15572,10 +15676,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s + // 5:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15585,10 +15689,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + // 4:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15598,10 +15702,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s + // 5:00 RussiaAsia %z 1994 Sep 25 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15611,10 +15715,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15624,10 +15728,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15670,10 +15774,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15683,10 +15787,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Apr 1 + // 5:00 - %z 1981 Apr 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15696,10 +15800,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 1:00 +06 1981 Oct 1 + // 5:00 1:00 %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -15709,10 +15813,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15722,10 +15826,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s + // 5:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15735,10 +15839,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + // 4:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15748,10 +15852,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15761,10 +15865,10 @@ static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15807,10 +15911,10 @@ static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15820,10 +15924,10 @@ static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00 + // 5:00 RussiaAsia %z 1991 Mar 31 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15833,10 +15937,10 @@ static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00 + // 4:00 RussiaAsia %z 1992 Jan 19 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15846,10 +15950,10 @@ static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15892,10 +15996,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -15905,10 +16009,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Oct 1 + // 5:00 - %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15918,10 +16022,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -15931,10 +16035,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s + // 5:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15944,10 +16048,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + // 4:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15957,10 +16061,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s + // 5:00 RussiaAsia %z 1999 Mar 28 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -15970,10 +16074,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -15983,10 +16087,10 @@ static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -16042,10 +16146,10 @@ static const complete::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1982 May + // 3:00 - %z 1982 May { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -16055,10 +16159,10 @@ static const complete::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 Iraq +03/+04 + // 3:00 Iraq %z { &kZonePolicyIraq /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -16101,10 +16205,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1957 Mar + // 3:00 - %z 1957 Mar { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -16114,10 +16218,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + // 4:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -16127,10 +16231,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 RussiaAsia +03/+04 1992 Sep lastSun 2:00s + // 3:00 RussiaAsia %z 1992 Sep lastSun 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -16140,10 +16244,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1996 + // 4:00 - %z 1996 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -16153,10 +16257,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 EUAsia +04/+05 1997 + // 4:00 EUAsia %z 1997 { &kZonePolicyEUAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -16166,10 +16270,10 @@ static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Azer +04/+05 + // 4:00 Azer %z { &kZonePolicyAzer /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -16225,10 +16329,10 @@ static const complete::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -16271,10 +16375,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1930 Jun 21 + // 6:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16284,10 +16388,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Russia +07/+08 1991 Mar 31 2:00s + // 7:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -16297,10 +16401,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 1992 Jan 19 2:00s + // 6:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16310,10 +16414,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 1995 May 28 + // 7:00 Russia %z 1995 May 28 { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -16323,10 +16427,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16336,10 +16440,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -16349,10 +16453,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2016 Mar 27 2:00s + // 6:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16362,10 +16466,10 @@ static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -16454,10 +16558,10 @@ static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1930 Jun 21 + // 5:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -16467,10 +16571,10 @@ static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s + // 6:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16480,10 +16584,10 @@ static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Aug 31 2:00 + // 5:00 RussiaAsia %z 1991 Aug 31 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -16493,10 +16597,10 @@ static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 Kyrgyz +05/+06 2005 Aug 12 + // 5:00 Kyrgyz %z 2005 Aug 12 { &kZonePolicyKyrgyz /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -16506,10 +16610,10 @@ static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16552,10 +16656,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1930 Jun 21 + // 8:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -16565,10 +16669,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 Russia +09/+10 1991 Mar 31 2:00s + // 9:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -16578,10 +16682,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 Russia +08/+09 1992 Jan 19 2:00s + // 8:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -16591,10 +16695,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 Russia +09/+10 2011 Mar 27 2:00s + // 9:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -16604,10 +16708,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -16617,10 +16721,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 - +08 2016 Mar 27 2:00 + // 8:00 - %z 2016 Mar 27 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -16630,10 +16734,10 @@ static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -16657,91 +16761,6 @@ const complete::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: Asia/Choibalsan -// Eras: 5 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraAsia_Choibalsan[] ACE_TIME_PROGMEM = { - // 7:38:00 - LMT 1905 Aug - { - nullptr /*zonePolicy*/, - "LMT" /*format*/, - 1832 /*offsetCode (27480/15)*/, - 0 /*offsetRemainder (27480%15)*/, - 0 /*deltaMinutes*/, - 1905 /*untilYear*/, - 8 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // 7:00 - +07 1978 - { - nullptr /*zonePolicy*/, - "+07" /*format*/, - 1680 /*offsetCode (25200/15)*/, - 0 /*offsetRemainder (25200%15)*/, - 0 /*deltaMinutes*/, - 1978 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // 8:00 - +08 1983 Apr - { - nullptr /*zonePolicy*/, - "+08" /*format*/, - 1920 /*offsetCode (28800/15)*/, - 0 /*offsetRemainder (28800%15)*/, - 0 /*deltaMinutes*/, - 1983 /*untilYear*/, - 4 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // 9:00 Mongol +09/+10 2008 Mar 31 - { - &kZonePolicyMongol /*zonePolicy*/, - "+09/+10" /*format*/, - 2160 /*offsetCode (32400/15)*/, - 0 /*offsetRemainder (32400%15)*/, - 0 /*deltaMinutes*/, - 2008 /*untilYear*/, - 3 /*untilMonth*/, - 31 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // 8:00 Mongol +08/+09 - { - &kZonePolicyMongol /*zonePolicy*/, - "+08/+09" /*format*/, - 1920 /*offsetCode (28800/15)*/, - 0 /*offsetRemainder (28800%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan"; - -const complete::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = { - kZoneNameAsia_Choibalsan /*name*/, - 0x928aa4a6 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 5 /*numEras*/, - kZoneEraAsia_Choibalsan /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Asia/Colombo // Eras: 9 @@ -16774,10 +16793,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1942 Jan 5 + // 5:30 - %z 1942 Jan 5 { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -16787,10 +16806,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 0:30 +06 1942 Sep + // 5:30 0:30 %z 1942 Sep { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 30 /*deltaMinutes*/, @@ -16800,10 +16819,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 1:00 +0630 1945 Oct 16 2:00 + // 5:30 1:00 %z 1945 Oct 16 2:00 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 60 /*deltaMinutes*/, @@ -16813,10 +16832,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1996 May 25 0:00 + // 5:30 - %z 1996 May 25 0:00 { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -16826,10 +16845,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:30 - +0630 1996 Oct 26 0:30 + // 6:30 - %z 1996 Oct 26 0:30 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1560 /*offsetCode (23400/15)*/, 0 /*offsetRemainder (23400%15)*/, 0 /*deltaMinutes*/, @@ -16839,10 +16858,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 120 /*untilTimeCode (1800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 2006 Apr 15 0:30 + // 6:00 - %z 2006 Apr 15 0:30 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -16852,10 +16871,10 @@ static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 120 /*untilTimeCode (1800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 + // 5:30 - %z { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -16911,10 +16930,10 @@ static const complete::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -16970,10 +16989,10 @@ static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:30 - +0630 1942 May 15 + // 6:30 - %z 1942 May 15 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1560 /*offsetCode (23400/15)*/, 0 /*offsetRemainder (23400%15)*/, 0 /*deltaMinutes*/, @@ -16983,10 +17002,10 @@ static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1942 Sep + // 5:30 - %z 1942 Sep { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -16996,10 +17015,10 @@ static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:30 - +0630 1951 Sep 30 + // 6:30 - %z 1951 Sep 30 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1560 /*offsetCode (23400/15)*/, 0 /*offsetRemainder (23400%15)*/, 0 /*deltaMinutes*/, @@ -17009,10 +17028,10 @@ static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 2009 + // 6:00 - %z 2009 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -17022,10 +17041,10 @@ static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 Dhaka +06/+07 + // 6:00 Dhaka %z { &kZonePolicyDhaka /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -17055,23 +17074,23 @@ const complete::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { - // 8:22:20 - LMT 1912 Jan 1 + // 8:22:20 - LMT 1911 Dec 31 16:00u { nullptr /*zonePolicy*/, "LMT" /*format*/, 2009 /*offsetCode (30140/15)*/, 5 /*offsetRemainder (30140%15)*/, 0 /*deltaMinutes*/, - 1912 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + 1911 /*untilYear*/, + 12 /*untilMonth*/, + 31 /*untilDay*/, + 3840 /*untilTimeCode (57600/15)*/, + 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 8:00 - +08 1942 Feb 21 23:00 + // 8:00 - %z 1942 Feb 21 23:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17081,10 +17100,10 @@ static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1976 May 3 + // 9:00 - %z 1976 May 3 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -17094,10 +17113,10 @@ static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 2000 Sep 17 0:00 + // 8:00 - %z 2000 Sep 17 0:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17107,10 +17126,10 @@ static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -17153,10 +17172,10 @@ static const complete::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -17199,10 +17218,10 @@ static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1930 Jun 21 + // 5:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -17212,10 +17231,10 @@ static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s + // 6:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -17225,10 +17244,10 @@ static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 1:00 +06 1991 Sep 9 2:00s + // 5:00 1:00 %z 1991 Sep 9 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -17238,10 +17257,10 @@ static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -17310,10 +17329,10 @@ static const complete::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 2017 Oct 29 1:00u + // 3:00 - %z 2017 Oct 29 1:00u { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -17656,10 +17675,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1942 Dec 31 23:00 + // 7:00 - %z 1942 Dec 31 23:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17669,10 +17688,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1945 Mar 14 23:00 + // 8:00 - %z 1945 Mar 14 23:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17682,10 +17701,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 1 24:00 + // 9:00 - %z 1945 Sep 1 24:00 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -17695,10 +17714,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1947 Apr 1 + // 7:00 - %z 1947 Apr 1 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17708,10 +17727,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1955 Jul 1 01:00 + // 8:00 - %z 1955 Jul 1 01:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17721,10 +17740,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1959 Dec 31 23:00 + // 7:00 - %z 1959 Dec 31 23:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17734,10 +17753,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1975 Jun 13 + // 8:00 - %z 1975 Jun 13 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17747,10 +17766,10 @@ static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17891,10 +17910,10 @@ static const complete::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1978 + // 6:00 - %z 1978 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -17904,10 +17923,10 @@ static const complete::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Mongol +07/+08 + // 7:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17963,10 +17982,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1930 Jun 21 + // 7:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -17976,10 +17995,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 Russia +08/+09 1991 Mar 31 2:00s + // 8:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -17989,10 +18008,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 1992 Jan 19 2:00s + // 7:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -18002,10 +18021,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 Russia +08/+09 2011 Mar 27 2:00s + // 8:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18015,10 +18034,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 - +09 2014 Oct 26 2:00s + // 9:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18028,10 +18047,10 @@ static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18087,10 +18106,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 4000 /*untilTimeCode (60000/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 7:20 - +0720 1932 Nov + // 7:20 - %z 1932 Nov { nullptr /*zonePolicy*/, - "+0720" /*format*/, + "" /*format*/, 1760 /*offsetCode (26400/15)*/, 0 /*offsetRemainder (26400%15)*/, 0 /*deltaMinutes*/, @@ -18100,10 +18119,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1942 Mar 23 + // 7:30 - %z 1942 Mar 23 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -18113,10 +18132,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 23 + // 9:00 - %z 1945 Sep 23 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18126,10 +18145,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1948 May + // 7:30 - %z 1948 May { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -18139,10 +18158,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1950 May + // 8:00 - %z 1950 May { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18152,10 +18171,10 @@ static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1964 + // 7:30 - %z 1964 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -18211,10 +18230,10 @@ static const complete::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1944 Sep 1 + // 9:00 - %z 1944 Sep 1 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18224,10 +18243,10 @@ static const complete::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:30 - +0930 1964 + // 9:30 - %z 1964 { nullptr /*zonePolicy*/, - "+0930" /*format*/, + "" /*format*/, 2280 /*offsetCode (34200/15)*/, 0 /*offsetRemainder (34200%15)*/, 0 /*deltaMinutes*/, @@ -18342,10 +18361,10 @@ static const complete::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1945 + // 4:00 - %z 1945 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -18355,10 +18374,10 @@ static const complete::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:30 - +0430 + // 4:30 - %z { nullptr /*zonePolicy*/, - "+0430" /*format*/, + "" /*format*/, 1080 /*offsetCode (16200/15)*/, 0 /*offsetRemainder (16200%15)*/, 0 /*deltaMinutes*/, @@ -18401,10 +18420,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1930 Jun 21 + // 11:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -18414,10 +18433,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 Russia +12/+13 1991 Mar 31 2:00s + // 12:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -18427,10 +18446,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 1992 Jan 19 2:00s + // 11:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -18440,10 +18459,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 Russia +12/+13 2010 Mar 28 2:00s + // 12:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -18453,10 +18472,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -18466,10 +18485,10 @@ static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -18512,10 +18531,10 @@ static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1942 Sep + // 5:30 - %z 1942 Sep { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -18525,10 +18544,10 @@ static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 1:00 +0630 1945 Oct 15 + // 5:30 1:00 %z 1945 Oct 15 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 60 /*deltaMinutes*/, @@ -18538,10 +18557,10 @@ static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1951 Sep 30 + // 5:30 - %z 1951 Sep 30 { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -18551,10 +18570,10 @@ static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1971 Mar 26 + // 5:00 - %z 1971 Mar 26 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -18610,10 +18629,10 @@ static const complete::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1986 + // 5:30 - %z 1986 { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -18623,10 +18642,10 @@ static const complete::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:45 - +0545 + // 5:45 - %z { nullptr /*zonePolicy*/, - "+0545" /*format*/, + "" /*format*/, 1380 /*offsetCode (20700/15)*/, 0 /*offsetRemainder (20700%15)*/, 0 /*deltaMinutes*/, @@ -18669,10 +18688,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1930 Jun 21 + // 8:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18682,10 +18701,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 Russia +09/+10 1991 Mar 31 2:00s + // 9:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18695,10 +18714,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 Russia +08/+09 1992 Jan 19 2:00s + // 8:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18708,10 +18727,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 Russia +09/+10 2004 + // 9:00 Russia %z 2004 { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18721,10 +18740,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -18734,10 +18753,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 2011 Sep 13 0:00s + // 11:00 - %z 2011 Sep 13 0:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -18747,10 +18766,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -18760,10 +18779,10 @@ static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -18845,10 +18864,10 @@ static const complete::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 1:00 +0630 1942 May 15 + // 5:30 1:00 %z 1942 May 15 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 60 /*deltaMinutes*/, @@ -18871,10 +18890,10 @@ static const complete::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 1:00 +0630 1945 Oct 15 + // 5:30 1:00 %z 1945 Oct 15 { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 60 /*deltaMinutes*/, @@ -18930,10 +18949,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1930 Jun 21 + // 6:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -18943,10 +18962,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Russia +07/+08 1991 Mar 31 2:00s + // 7:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -18956,10 +18975,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 1992 Jan 19 2:00s + // 6:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -18969,10 +18988,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 2011 Mar 27 2:00s + // 7:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -18982,10 +19001,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 - +08 2014 Oct 26 2:00s + // 8:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -18995,10 +19014,10 @@ static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19041,10 +19060,10 @@ static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1933 + // 7:30 - %z 1933 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -19054,10 +19073,10 @@ static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 NBorneo +08/+0820 1942 Feb 16 + // 8:00 NBorneo %z 1942 Feb 16 { &kZonePolicyNBorneo /*zonePolicy*/, - "+08/+0820" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -19067,10 +19086,10 @@ static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 12 + // 9:00 - %z 1945 Sep 12 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -19080,10 +19099,10 @@ static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -19139,10 +19158,10 @@ static const complete::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = { 5520 /*untilTimeCode (82800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 Macau +09/+10 1945 Sep 30 24:00 + // 9:00 Macau %z 1945 Sep 30 24:00 { &kZonePolicyMacau /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -19198,10 +19217,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 1930 Jun 21 + // 10:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -19211,10 +19230,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 Russia +11/+12 1991 Mar 31 2:00s + // 11:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -19224,10 +19243,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 1992 Jan 19 2:00s + // 10:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -19237,10 +19256,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -19250,10 +19269,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 - +12 2014 Oct 26 2:00s + // 12:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -19263,10 +19282,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 2016 Apr 24 2:00s + // 10:00 - %z 2016 Apr 24 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -19276,10 +19295,10 @@ static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -19335,10 +19354,10 @@ static const complete::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1942 Feb 9 + // 8:00 - %z 1942 Feb 9 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -19348,10 +19367,10 @@ static const complete::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 23 + // 9:00 - %z 1945 Sep 23 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -19551,10 +19570,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1930 Jun 21 + // 6:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19564,10 +19583,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Russia +07/+08 1991 Mar 31 2:00s + // 7:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19577,10 +19596,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 1992 Jan 19 2:00s + // 6:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19590,10 +19609,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 2010 Mar 28 2:00s + // 7:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19603,10 +19622,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19616,10 +19635,10 @@ static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19662,10 +19681,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 1440 /*untilTimeCode (21600/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1930 Jun 21 + // 6:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19675,10 +19694,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Russia +07/+08 1991 Mar 31 2:00s + // 7:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19688,10 +19707,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 1992 Jan 19 2:00s + // 6:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19701,10 +19720,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 1993 May 23 + // 7:00 Russia %z 1993 May 23 { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19714,10 +19733,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19727,10 +19746,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19740,10 +19759,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2016 Jul 24 2:00s + // 6:00 - %z 2016 Jul 24 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19753,10 +19772,10 @@ static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19799,10 +19818,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1930 Jun 21 + // 5:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -19812,10 +19831,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 Russia +06/+07 1991 Mar 31 2:00s + // 6:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19825,10 +19844,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 Russia +05/+06 1992 Jan 19 2:00s + // 5:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -19838,10 +19857,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19851,10 +19870,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -19864,10 +19883,10 @@ static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19910,10 +19929,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -19923,10 +19942,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Apr 1 + // 5:00 - %z 1981 Apr 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -19936,10 +19955,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 1:00 +06 1981 Oct 1 + // 5:00 1:00 %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -19949,10 +19968,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -19962,10 +19981,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1989 Mar 26 2:00s + // 5:00 RussiaAsia %z 1989 Mar 26 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -19975,10 +19994,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + // 4:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -19988,10 +20007,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1992 Mar 29 2:00s + // 5:00 RussiaAsia %z 1992 Mar 29 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20001,10 +20020,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20014,10 +20033,10 @@ static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20073,10 +20092,10 @@ static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1942 Jan 29 + // 7:30 - %z 1942 Jan 29 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -20086,10 +20105,10 @@ static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 23 + // 9:00 - %z 1945 Sep 23 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -20099,10 +20118,10 @@ static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1948 May + // 7:30 - %z 1948 May { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -20112,10 +20131,10 @@ static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1950 May + // 8:00 - %z 1950 May { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -20125,10 +20144,10 @@ static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1964 + // 7:30 - %z 1964 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -20295,10 +20314,10 @@ static const complete::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1972 Jun + // 4:00 - %z 1972 Jun { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20308,10 +20327,10 @@ static const complete::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -20354,10 +20373,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20367,10 +20386,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Apr 1 + // 5:00 - %z 1981 Apr 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20380,10 +20399,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 1:00 +06 1981 Oct 1 + // 5:00 1:00 %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -20393,10 +20412,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20406,10 +20425,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s + // 5:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20419,10 +20438,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + // 4:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20432,10 +20451,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20445,10 +20464,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2024 Mar 1 0:00 + // 6:00 - %z 2024 Mar 1 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20458,10 +20477,10 @@ static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20504,10 +20523,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20517,10 +20536,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Apr 1 + // 5:00 - %z 1981 Apr 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20530,10 +20549,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 1:00 +06 1981 Oct 1 + // 5:00 1:00 %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -20543,10 +20562,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20556,10 +20575,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s + // 5:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20569,10 +20588,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1991 Sep 29 2:00s + // 4:00 RussiaAsia %z 1991 Sep 29 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20582,10 +20601,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s + // 5:00 RussiaAsia %z 1992 Jan 19 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20595,10 +20614,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s + // 6:00 RussiaAsia %z 1992 Mar 29 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20608,10 +20627,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20621,10 +20640,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2018 Dec 21 0:00 + // 6:00 - %z 2018 Dec 21 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20634,10 +20653,10 @@ static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20680,10 +20699,10 @@ static const complete::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -20726,10 +20745,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Aug 25 + // 9:00 - %z 1945 Aug 25 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -20739,10 +20758,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 Russia +11/+12 1991 Mar 31 2:00s + // 11:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -20752,10 +20771,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 1992 Jan 19 2:00s + // 10:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -20765,10 +20784,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 1997 Mar lastSun 2:00s + // 11:00 Russia %z 1997 Mar lastSun 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -20778,10 +20797,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -20791,10 +20810,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -20804,10 +20823,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 2016 Mar 27 2:00s + // 10:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -20817,10 +20836,10 @@ static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -20863,10 +20882,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -20876,10 +20895,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1981 Apr 1 + // 5:00 - %z 1981 Apr 1 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20889,10 +20908,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 1:00 +06 1981 Oct 1 + // 5:00 1:00 %z 1981 Oct 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 60 /*deltaMinutes*/, @@ -20902,10 +20921,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1982 Apr 1 + // 6:00 - %z 1982 Apr 1 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -20915,10 +20934,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1992 + // 5:00 RussiaAsia %z 1992 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -20928,10 +20947,10 @@ static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -21144,10 +21163,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1933 Jan 1 + // 7:00 - %z 1933 Jan 1 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -21157,10 +21176,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 0:20 +0720 1936 Jan 1 + // 7:00 0:20 %z 1936 Jan 1 { nullptr /*zonePolicy*/, - "+0720" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 20 /*deltaMinutes*/, @@ -21170,10 +21189,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:20 - +0720 1941 Sep 1 + // 7:20 - %z 1941 Sep 1 { nullptr /*zonePolicy*/, - "+0720" /*format*/, + "" /*format*/, 1760 /*offsetCode (26400/15)*/, 0 /*offsetRemainder (26400%15)*/, 0 /*deltaMinutes*/, @@ -21183,10 +21202,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1942 Feb 16 + // 7:30 - %z 1942 Feb 16 { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -21196,10 +21215,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 12 + // 9:00 - %z 1945 Sep 12 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -21209,10 +21228,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:30 - +0730 1981 Dec 31 16:00u + // 7:30 - %z 1981 Dec 31 16:00u { nullptr /*zonePolicy*/, - "+0730" /*format*/, + "" /*format*/, 1800 /*offsetCode (27000/15)*/, 0 /*offsetRemainder (27000%15)*/, 0 /*deltaMinutes*/, @@ -21222,10 +21241,10 @@ static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { 3840 /*untilTimeCode (57600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -21268,10 +21287,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 1930 Jun 21 + // 10:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -21281,10 +21300,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 Russia +11/+12 1991 Mar 31 2:00s + // 11:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -21294,10 +21313,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 1992 Jan 19 2:00s + // 10:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -21307,10 +21326,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -21320,10 +21339,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 - +12 2014 Oct 26 2:00s + // 12:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -21333,10 +21352,10 @@ static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -21451,10 +21470,10 @@ static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1930 Jun 21 + // 5:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -21464,10 +21483,10 @@ static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00 + // 6:00 RussiaAsia %z 1991 Mar 31 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21477,10 +21496,10 @@ static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 RussiaAsia +05/+06 1992 + // 5:00 RussiaAsia %z 1992 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -21490,10 +21509,10 @@ static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -21549,10 +21568,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1957 Mar + // 3:00 - %z 1957 Mar { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -21562,10 +21581,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + // 4:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -21575,10 +21594,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 RussiaAsia +03/+04 1992 + // 3:00 RussiaAsia %z 1992 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -21588,10 +21607,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 E-EurAsia +03/+04 1994 Sep lastSun + // 3:00 E-EurAsia %z 1994 Sep lastSun { &kZonePolicyE_EurAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -21601,10 +21620,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 E-EurAsia +04/+05 1996 Oct lastSun + // 4:00 E-EurAsia %z 1996 Oct lastSun { &kZonePolicyE_EurAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -21614,10 +21633,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 1:00 +05 1997 Mar lastSun + // 4:00 1:00 %z 1997 Mar lastSun { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 60 /*deltaMinutes*/, @@ -21627,10 +21646,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 E-EurAsia +04/+05 2004 Jun 27 + // 4:00 E-EurAsia %z 2004 Jun 27 { &kZonePolicyE_EurAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -21640,10 +21659,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00 + // 3:00 RussiaAsia %z 2005 Mar lastSun 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -21653,10 +21672,10 @@ static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -21712,10 +21731,10 @@ static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:30 Iran +0330/+0430 1977 Oct 20 24:00 + // 3:30 Iran %z 1977 Oct 20 24:00 { &kZonePolicyIran /*zonePolicy*/, - "+0330/+0430" /*format*/, + "" /*format*/, 840 /*offsetCode (12600/15)*/, 0 /*offsetRemainder (12600%15)*/, 0 /*deltaMinutes*/, @@ -21725,10 +21744,10 @@ static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Iran +04/+05 1979 + // 4:00 Iran %z 1979 { &kZonePolicyIran /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -21738,10 +21757,10 @@ static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:30 Iran +0330/+0430 + // 3:30 Iran %z { &kZonePolicyIran /*zonePolicy*/, - "+0330/+0430" /*format*/, + "" /*format*/, 840 /*offsetCode (12600/15)*/, 0 /*offsetRemainder (12600%15)*/, 0 /*deltaMinutes*/, @@ -21784,10 +21803,10 @@ static const complete::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:30 - +0530 1987 Oct + // 5:30 - %z 1987 Oct { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 1320 /*offsetCode (19800/15)*/, 0 /*offsetRemainder (19800%15)*/, 0 /*deltaMinutes*/, @@ -21797,10 +21816,10 @@ static const complete::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21889,10 +21908,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 1930 Jun 21 + // 6:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21902,10 +21921,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 Russia +07/+08 1991 Mar 31 2:00s + // 7:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -21915,10 +21934,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 Russia +06/+07 1992 Jan 19 2:00s + // 6:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21928,10 +21947,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 Russia +07/+08 2002 May 1 3:00 + // 7:00 Russia %z 2002 May 1 3:00 { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -21941,10 +21960,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21954,10 +21973,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -21967,10 +21986,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2016 May 29 2:00s + // 6:00 - %z 2016 May 29 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -21980,10 +21999,10 @@ static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -22026,10 +22045,10 @@ static const complete::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 7:00 - +07 1978 + // 7:00 - %z 1978 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -22039,10 +22058,10 @@ static const complete::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 Mongol +08/+09 + // 8:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -22085,10 +22104,10 @@ static const complete::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -22131,10 +22150,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1930 Jun 21 + // 8:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -22144,10 +22163,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 Russia +09/+10 1981 Apr 1 + // 9:00 Russia %z 1981 Apr 1 { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22157,10 +22176,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 Russia +11/+12 1991 Mar 31 2:00s + // 11:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -22170,10 +22189,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 1992 Jan 19 2:00s + // 10:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22183,10 +22202,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -22196,10 +22215,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 12:00 - +12 2011 Sep 13 0:00s + // 12:00 - %z 2011 Sep 13 0:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -22209,10 +22228,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -22222,10 +22241,10 @@ static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22268,10 +22287,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1930 Jun 21 + // 9:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22281,10 +22300,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 Russia +10/+11 1991 Mar 31 2:00s + // 10:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22294,10 +22313,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 Russia +09/+10 1992 Jan 19 2:00s + // 9:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22307,10 +22326,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22320,10 +22339,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -22333,10 +22352,10 @@ static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22379,10 +22398,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:00 - +08 1930 Jun 21 + // 8:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -22392,10 +22411,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 Russia +09/+10 1991 Mar 31 2:00s + // 9:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22405,10 +22424,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 8:00 Russia +08/+09 1992 Jan 19 2:00s + // 8:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -22418,10 +22437,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 Russia +09/+10 2011 Mar 27 2:00s + // 9:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22431,10 +22450,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -22444,10 +22463,10 @@ static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22503,10 +22522,10 @@ static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:30 - +0630 1942 May + // 6:30 - %z 1942 May { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1560 /*offsetCode (23400/15)*/, 0 /*offsetRemainder (23400%15)*/, 0 /*deltaMinutes*/, @@ -22516,10 +22535,10 @@ static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 May 3 + // 9:00 - %z 1945 May 3 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -22529,10 +22548,10 @@ static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:30 - +0630 + // 6:30 - %z { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 1560 /*offsetCode (23400/15)*/, 0 /*offsetRemainder (23400%15)*/, 0 /*deltaMinutes*/, @@ -22588,10 +22607,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 960 /*untilTimeCode (14400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1930 Jun 21 + // 4:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22601,10 +22620,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 Russia +05/+06 1991 Mar 31 2:00s + // 5:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -22614,10 +22633,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 Russia +04/+05 1992 Jan 19 2:00s + // 4:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22627,10 +22646,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 Russia +05/+06 2011 Mar 27 2:00s + // 5:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -22640,10 +22659,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 6:00 - +06 2014 Oct 26 2:00s + // 6:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -22653,10 +22672,10 @@ static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -22699,10 +22718,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1957 Mar + // 3:00 - %z 1957 Mar { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -22712,10 +22731,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + // 4:00 RussiaAsia %z 1991 Mar 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22725,10 +22744,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s + // 3:00 RussiaAsia %z 1995 Sep 24 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -22738,10 +22757,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1997 + // 4:00 - %z 1997 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22751,10 +22770,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 RussiaAsia +04/+05 2011 + // 4:00 RussiaAsia %z 2011 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22764,10 +22783,10 @@ static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Armenia +04/+05 + // 4:00 Armenia %z { &kZonePolicyArmenia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -22793,7 +22812,7 @@ const complete::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: Atlantic/Azores -// Eras: 15 +// Eras: 8 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = { @@ -22823,150 +22842,59 @@ static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -2:00 Port -02/-01 1942 Apr 25 22:00s + // -2:00 Port %z 1966 Oct 2 2:00s { &kZonePolicyPort /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, - 1942 /*untilYear*/, - 4 /*untilMonth*/, - 25 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port +00 1942 Aug 15 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+00" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1942 /*untilYear*/, - 8 /*untilMonth*/, - 15 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port -02/-01 1943 Apr 17 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-02/-01" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1943 /*untilYear*/, - 4 /*untilMonth*/, - 17 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, + 1966 /*untilYear*/, + 10 /*untilMonth*/, + 2 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // -2:00 Port +00 1943 Aug 28 22:00s + // -1:00 - %z 1982 Mar 28 0:00s { - &kZonePolicyPort /*zonePolicy*/, - "+00" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, + nullptr /*zonePolicy*/, + "" /*format*/, + -240 /*offsetCode (-3600/15)*/, + 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, - 1943 /*untilYear*/, - 8 /*untilMonth*/, + 1982 /*untilYear*/, + 3 /*untilMonth*/, 28 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port -02/-01 1944 Apr 22 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-02/-01" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1944 /*untilYear*/, - 4 /*untilMonth*/, - 22 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port +00 1944 Aug 26 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+00" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1944 /*untilYear*/, - 8 /*untilMonth*/, - 26 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port -02/-01 1945 Apr 21 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-02/-01" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1945 /*untilYear*/, - 4 /*untilMonth*/, - 21 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -2:00 Port +00 1945 Aug 25 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+00" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1945 /*untilYear*/, - 8 /*untilMonth*/, - 25 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, + 0 /*untilTimeCode (0/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // -2:00 Port -02/-01 1966 Apr 3 2:00 - { - &kZonePolicyPort /*zonePolicy*/, - "-02/-01" /*format*/, - -480 /*offsetCode (-7200/15)*/, - 0 /*offsetRemainder (-7200%15)*/, - 0 /*deltaMinutes*/, - 1966 /*untilYear*/, - 4 /*untilMonth*/, - 3 /*untilDay*/, - 480 /*untilTimeCode (7200/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - // -1:00 Port -01/+00 1983 Sep 25 1:00s + // -1:00 Port %z 1986 { &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, - 1983 /*untilYear*/, - 9 /*untilMonth*/, - 25 /*untilDay*/, - 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 1986 /*untilYear*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -1:00 W-Eur -01/+00 1992 Sep 27 1:00s + // -1:00 EU %z 1992 Dec 27 1:00s { - &kZonePolicyW_Eur /*zonePolicy*/, - "-01/+00" /*format*/, + &kZonePolicyEU /*zonePolicy*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, 1992 /*untilYear*/, - 9 /*untilMonth*/, + 12 /*untilMonth*/, 27 /*untilDay*/, 240 /*untilTimeCode (3600/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 0:00 EU WE%sT 1993 Mar 28 1:00u + // 0:00 EU WE%sT 1993 Jun 17 1:00u { &kZonePolicyEU /*zonePolicy*/, "WE%T" /*format*/, @@ -22974,15 +22902,15 @@ static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = { 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, 1993 /*untilYear*/, - 3 /*untilMonth*/, - 28 /*untilDay*/, + 6 /*untilMonth*/, + 17 /*untilDay*/, 240 /*untilTimeCode (3600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -1:00 EU -01/+00 + // -1:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -23001,7 +22929,7 @@ const complete::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = { kZoneNameAtlantic_Azores /*name*/, 0xf93ed918 /*zoneId*/, &kZoneContext /*zoneContext*/, - 15 /*numEras*/, + 8 /*numEras*/, kZoneEraAtlantic_Azores /*eras*/, nullptr /*targetInfo*/, }; @@ -23110,10 +23038,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -1:00 - -01 1946 Sep 30 1:00 + // -1:00 - %z 1946 Sep 30 1:00 { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -23195,10 +23123,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = 480 /*untilTimeCode (7200/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -2:00 - -02 1942 Sep + // -2:00 - %z 1942 Sep { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -23208,10 +23136,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 1:00 -01 1945 Oct 15 + // -2:00 1:00 %z 1945 Oct 15 { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 60 /*deltaMinutes*/, @@ -23221,10 +23149,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 1975 Nov 25 2:00 + // -2:00 - %z 1975 Nov 25 2:00 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -23234,10 +23162,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -1:00 - -01 + // -1:00 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -23322,7 +23250,7 @@ const complete::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: Atlantic/Madeira -// Eras: 13 +// Eras: 6 //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = { @@ -23352,135 +23280,44 @@ static const complete::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -1:00 Port -01/+00 1942 Apr 25 22:00s + // -1:00 Port %z 1966 Oct 2 2:00s { &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, - 1942 /*untilYear*/, - 4 /*untilMonth*/, - 25 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port +01 1942 Aug 15 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+01" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1942 /*untilYear*/, - 8 /*untilMonth*/, - 15 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port -01/+00 1943 Apr 17 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1943 /*untilYear*/, - 4 /*untilMonth*/, - 17 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port +01 1943 Aug 28 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+01" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1943 /*untilYear*/, - 8 /*untilMonth*/, - 28 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port -01/+00 1944 Apr 22 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1944 /*untilYear*/, - 4 /*untilMonth*/, - 22 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port +01 1944 Aug 26 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+01" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1944 /*untilYear*/, - 8 /*untilMonth*/, - 26 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port -01/+00 1945 Apr 21 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1945 /*untilYear*/, - 4 /*untilMonth*/, - 21 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, - }, - // -1:00 Port +01 1945 Aug 25 22:00s - { - &kZonePolicyPort /*zonePolicy*/, - "+01" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, - 0 /*deltaMinutes*/, - 1945 /*untilYear*/, - 8 /*untilMonth*/, - 25 /*untilDay*/, - 5280 /*untilTimeCode (79200/15)*/, + 1966 /*untilYear*/, + 10 /*untilMonth*/, + 2 /*untilDay*/, + 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // -1:00 Port -01/+00 1966 Apr 3 2:00 + // 0:00 - WET 1982 Apr 4 { - &kZonePolicyPort /*zonePolicy*/, - "-01/+00" /*format*/, - -240 /*offsetCode (-3600/15)*/, - 0 /*offsetRemainder (-3600%15)*/, + nullptr /*zonePolicy*/, + "WET" /*format*/, + 0 /*offsetCode (0/15)*/, + 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, - 1966 /*untilYear*/, + 1982 /*untilYear*/, 4 /*untilMonth*/, - 3 /*untilDay*/, - 480 /*untilTimeCode (7200/15)*/, + 4 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Port WE%sT 1983 Sep 25 1:00s + // 0:00 Port WE%sT 1986 Jul 31 { &kZonePolicyPort /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, - 1983 /*untilYear*/, - 9 /*untilMonth*/, - 25 /*untilDay*/, - 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 1986 /*untilYear*/, + 7 /*untilMonth*/, + 31 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, // 0:00 EU WE%sT { @@ -23504,7 +23341,7 @@ const complete::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = { kZoneNameAtlantic_Madeira /*name*/, 0x81b5c037 /*zoneId*/, &kZoneContext /*zoneContext*/, - 13 /*numEras*/, + 6 /*numEras*/, kZoneEraAtlantic_Madeira /*eras*/, nullptr /*targetInfo*/, }; @@ -23528,10 +23365,10 @@ static const complete::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -2:00 - -02 + // -2:00 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -23587,10 +23424,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Falk -04/-03 1983 May + // -4:00 Falk %z 1983 May { &kZonePolicyFalk /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -23600,10 +23437,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 Falk -03/-02 1985 Sep 15 + // -3:00 Falk %z 1985 Sep 15 { &kZonePolicyFalk /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -23613,10 +23450,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 Falk -04/-03 2010 Sep 5 2:00 + // -4:00 Falk %z 2010 Sep 5 2:00 { &kZonePolicyFalk /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -23626,10 +23463,10 @@ static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -23960,10 +23797,10 @@ static const complete::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:45 Aus +0845/+0945 1943 Jul + // 8:45 Aus %z 1943 Jul { &kZonePolicyAus /*zonePolicy*/, - "+0845/+0945" /*format*/, + "" /*format*/, 2100 /*offsetCode (31500/15)*/, 0 /*offsetRemainder (31500%15)*/, 0 /*deltaMinutes*/, @@ -23973,10 +23810,10 @@ static const complete::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 8:45 AW +0845/+0945 + // 8:45 AW %z { &kZonePolicyAW /*zonePolicy*/, - "+0845/+0945" /*format*/, + "" /*format*/, 2100 /*offsetCode (31500/15)*/, 0 /*offsetRemainder (31500%15)*/, 0 /*deltaMinutes*/, @@ -24176,10 +24013,10 @@ static const complete::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:30 LH +1030/+1130 1985 Jul + // 10:30 LH %z 1985 Jul { &kZonePolicyLH /*zonePolicy*/, - "+1030/+1130" /*format*/, + "" /*format*/, 2520 /*offsetCode (37800/15)*/, 0 /*offsetRemainder (37800%15)*/, 0 /*deltaMinutes*/, @@ -24189,10 +24026,10 @@ static const complete::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:30 LH +1030/+11 + // 10:30 LH %z { &kZonePolicyLH /*zonePolicy*/, - "+1030/+11" /*format*/, + "" /*format*/, 2520 /*offsetCode (37800/15)*/, 0 /*offsetRemainder (37800%15)*/, 0 /*deltaMinutes*/, @@ -24393,171 +24230,6 @@ const complete::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: CET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur CE%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "CE%T" /*format*/, - 240 /*offsetCode (3600/15)*/, - 0 /*offsetRemainder (3600%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; - -const complete::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { - kZoneNameCET /*name*/, - 0x0b87d921 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: CST6CDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = { - // -6:00 US C%sT - { - &kZonePolicyUS /*zonePolicy*/, - "C%T" /*format*/, - -1440 /*offsetCode (-21600/15)*/, - 0 /*offsetRemainder (-21600%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; - -const complete::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { - kZoneNameCST6CDT /*name*/, - 0xf0e87d00 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCST6CDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = { - // 2:00 EU EE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "EE%T" /*format*/, - 480 /*offsetCode (7200/15)*/, - 0 /*offsetRemainder (7200%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; - -const complete::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { - kZoneNameEET /*name*/, - 0x0b87e1a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = { - // -5:00 - EST - { - nullptr /*zonePolicy*/, - "EST" /*format*/, - -1200 /*offsetCode (-18000/15)*/, - 0 /*offsetRemainder (-18000%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; - -const complete::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { - kZoneNameEST /*name*/, - 0x0b87e371 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST5EDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = { - // -5:00 US E%sT - { - &kZonePolicyUS /*zonePolicy*/, - "E%T" /*format*/, - -1200 /*offsetCode (-18000/15)*/, - 0 /*offsetRemainder (-18000%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; - -const complete::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { - kZoneNameEST5EDT /*name*/, - 0x8adc72a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST5EDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Etc/GMT // Eras: 1 @@ -24597,10 +24269,10 @@ const complete::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = { - // -1 - -01 + // -1 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -240 /*offsetCode (-3600/15)*/, 0 /*offsetRemainder (-3600%15)*/, 0 /*deltaMinutes*/, @@ -24630,10 +24302,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = { - // -10 - -10 + // -10 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -2400 /*offsetCode (-36000/15)*/, 0 /*offsetRemainder (-36000%15)*/, 0 /*deltaMinutes*/, @@ -24663,10 +24335,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = { - // -11 - -11 + // -11 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -24696,10 +24368,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = { - // -12 - -12 + // -12 - %z { nullptr /*zonePolicy*/, - "-12" /*format*/, + "" /*format*/, -2880 /*offsetCode (-43200/15)*/, 0 /*offsetRemainder (-43200%15)*/, 0 /*deltaMinutes*/, @@ -24729,10 +24401,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = { - // -2 - -02 + // -2 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -480 /*offsetCode (-7200/15)*/, 0 /*offsetRemainder (-7200%15)*/, 0 /*deltaMinutes*/, @@ -24762,10 +24434,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = { - // -3 - -03 + // -3 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -720 /*offsetCode (-10800/15)*/, 0 /*offsetRemainder (-10800%15)*/, 0 /*deltaMinutes*/, @@ -24795,10 +24467,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = { - // -4 - -04 + // -4 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -24828,10 +24500,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = { - // -5 - -05 + // -5 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -24861,10 +24533,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = { - // -6 - -06 + // -6 - %z { nullptr /*zonePolicy*/, - "-06" /*format*/, + "" /*format*/, -1440 /*offsetCode (-21600/15)*/, 0 /*offsetRemainder (-21600%15)*/, 0 /*deltaMinutes*/, @@ -24894,10 +24566,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = { - // -7 - -07 + // -7 - %z { nullptr /*zonePolicy*/, - "-07" /*format*/, + "" /*format*/, -1680 /*offsetCode (-25200/15)*/, 0 /*offsetRemainder (-25200%15)*/, 0 /*deltaMinutes*/, @@ -24927,10 +24599,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = { - // -8 - -08 + // -8 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -1920 /*offsetCode (-28800/15)*/, 0 /*offsetRemainder (-28800%15)*/, 0 /*deltaMinutes*/, @@ -24960,10 +24632,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = { - // -9 - -09 + // -9 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -2160 /*offsetCode (-32400/15)*/, 0 /*offsetRemainder (-32400%15)*/, 0 /*deltaMinutes*/, @@ -24993,10 +24665,10 @@ const complete::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = { - // 1 - +01 + // 1 - %z { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -25026,10 +24698,10 @@ const complete::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = { - // 10 - +10 + // 10 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -25059,10 +24731,10 @@ const complete::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = { - // 11 - +11 + // 11 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -25092,10 +24764,10 @@ const complete::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = { - // 12 - +12 + // 12 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -25125,10 +24797,10 @@ const complete::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = { - // 13 - +13 + // 13 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -25158,10 +24830,10 @@ const complete::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = { - // 14 - +14 + // 14 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 3360 /*offsetCode (50400/15)*/, 0 /*offsetRemainder (50400%15)*/, 0 /*deltaMinutes*/, @@ -25191,10 +24863,10 @@ const complete::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = { - // 2 - +02 + // 2 - %z { nullptr /*zonePolicy*/, - "+02" /*format*/, + "" /*format*/, 480 /*offsetCode (7200/15)*/, 0 /*offsetRemainder (7200%15)*/, 0 /*deltaMinutes*/, @@ -25224,10 +24896,10 @@ const complete::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = { - // 3 - +03 + // 3 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -25257,10 +24929,10 @@ const complete::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = { - // 4 - +04 + // 4 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -25290,10 +24962,10 @@ const complete::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = { - // 5 - +05 + // 5 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -25323,10 +24995,10 @@ const complete::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = { - // 6 - +06 + // 6 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -25356,10 +25028,10 @@ const complete::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = { - // 7 - +07 + // 7 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 1680 /*offsetCode (25200/15)*/, 0 /*offsetRemainder (25200%15)*/, 0 /*deltaMinutes*/, @@ -25389,10 +25061,10 @@ const complete::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = { - // 8 - +08 + // 8 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 1920 /*offsetCode (28800/15)*/, 0 /*offsetRemainder (28800%15)*/, 0 /*deltaMinutes*/, @@ -25422,10 +25094,10 @@ const complete::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = { - // 9 - +09 + // 9 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -25573,10 +25245,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -25586,10 +25258,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1989 Mar 26 2:00s + // 4:00 Russia %z 1989 Mar 26 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -25599,10 +25271,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 1991 Mar 31 2:00s + // 3:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -25612,10 +25284,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1992 Mar 29 2:00s + // 4:00 - %z 1992 Mar 29 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -25625,10 +25297,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -25638,10 +25310,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -25651,10 +25323,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 2016 Mar 27 2:00s + // 3:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -25664,10 +25336,10 @@ static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -26833,10 +26505,10 @@ static const complete::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 Turkey +03/+04 1984 Nov 1 2:00 + // 3:00 Turkey %z 1984 Nov 1 2:00 { &kZonePolicyTurkey /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -26950,10 +26622,10 @@ static const complete::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -27048,10 +26720,10 @@ static const complete::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 2014 Oct 26 2:00s + // 3:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -27107,10 +26779,10 @@ static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -27120,10 +26792,10 @@ static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1989 Mar 26 2:00s + // 4:00 Russia %z 1989 Mar 26 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -27146,10 +26818,10 @@ static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1992 Mar 29 2:00s + // 4:00 - %z 1992 Mar 29 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -27381,7 +27053,7 @@ static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 0:00 Port WE%sT 1966 Apr 3 2:00 + // 0:00 Port WE%sT 1966 Oct 2 2:00s { &kZonePolicyPort /*zonePolicy*/, "WE%T" /*format*/, @@ -27389,10 +27061,10 @@ static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, 1966 /*untilYear*/, - 4 /*untilMonth*/, - 3 /*untilDay*/, + 10 /*untilMonth*/, + 2 /*untilDay*/, 480 /*untilTimeCode (7200/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, + 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, // 1:00 - CET 1976 Sep 26 1:00 { @@ -27407,22 +27079,22 @@ static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 240 /*untilTimeCode (3600/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Port WE%sT 1983 Sep 25 1:00s + // 0:00 Port WE%sT 1986 { &kZonePolicyPort /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, - 1983 /*untilYear*/, - 9 /*untilMonth*/, - 25 /*untilDay*/, - 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 1986 /*untilYear*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 W-Eur WE%sT 1992 Sep 27 1:00s + // 0:00 EU WE%sT 1992 Sep 27 1:00u { - &kZonePolicyW_Eur /*zonePolicy*/, + &kZonePolicyEU /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, @@ -27431,7 +27103,7 @@ static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 9 /*untilMonth*/, 27 /*untilDay*/, 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, // 1:00 EU CE%sT 1996 Mar 31 1:00u { @@ -27812,10 +27484,10 @@ static const complete::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28556,10 +28228,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28569,10 +28241,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1935 Jan 27 + // 4:00 - %z 1935 Jan 27 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28582,10 +28254,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1989 Mar 26 2:00s + // 4:00 Russia %z 1989 Mar 26 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28595,10 +28267,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 1991 Mar 31 2:00s + // 3:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28608,10 +28280,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 2:00 Russia +02/+03 1991 Sep 29 2:00s + // 2:00 Russia %z 1991 Sep 29 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+02/+03" /*format*/, + "" /*format*/, 480 /*offsetCode (7200/15)*/, 0 /*offsetRemainder (7200%15)*/, 0 /*deltaMinutes*/, @@ -28621,10 +28293,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 1991 Oct 20 3:00 + // 3:00 - %z 1991 Oct 20 3:00 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28634,10 +28306,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 2010 Mar 28 2:00s + // 4:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28647,10 +28319,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28660,10 +28332,10 @@ static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28706,10 +28378,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28719,10 +28391,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1988 Mar 27 2:00s + // 4:00 Russia %z 1988 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28732,10 +28404,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 1991 Mar 31 2:00s + // 3:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28745,10 +28417,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1992 Mar 29 2:00s + // 4:00 - %z 1992 Mar 29 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28758,10 +28430,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28771,10 +28443,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -28784,10 +28456,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 2016 Dec 4 2:00s + // 3:00 - %z 2016 Dec 4 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -28797,10 +28469,10 @@ static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29469,10 +29141,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -29482,10 +29154,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1989 Mar 26 2:00s + // 4:00 Russia %z 1989 Mar 26 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29495,10 +29167,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 1991 Mar 31 2:00s + // 3:00 Russia %z 1991 Mar 31 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -29508,10 +29180,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 2:00 Russia +02/+03 1992 Jan 19 2:00s + // 2:00 Russia %z 1992 Jan 19 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+02/+03" /*format*/, + "" /*format*/, 480 /*offsetCode (7200/15)*/, 0 /*offsetRemainder (7200%15)*/, 0 /*deltaMinutes*/, @@ -29521,10 +29193,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -29534,10 +29206,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29547,10 +29219,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 3:00 - +03 2016 Mar 27 2:00s + // 3:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -29560,10 +29232,10 @@ static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29945,10 +29617,10 @@ static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 3:00 - +03 1930 Jun 21 + // 3:00 - %z 1930 Jun 21 { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 720 /*offsetCode (10800/15)*/, 0 /*offsetRemainder (10800%15)*/, 0 /*deltaMinutes*/, @@ -29958,10 +29630,10 @@ static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 - +04 1961 Nov 11 + // 4:00 - %z 1961 Nov 11 { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29971,10 +29643,10 @@ static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Russia +04/+05 1988 Mar 27 2:00s + // 4:00 Russia %z 1988 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -29997,10 +29669,10 @@ static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 1992 Mar 29 2:00s + // 4:00 - %z 1992 Mar 29 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -30049,10 +29721,10 @@ static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 4:00 - +04 2020 Dec 27 2:00s + // 4:00 - %z 2020 Dec 27 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -30298,39 +29970,6 @@ const complete::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: HST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = { - // -10:00 - HST - { - nullptr /*zonePolicy*/, - "HST" /*format*/, - -2400 /*offsetCode (-36000/15)*/, - 0 /*offsetRemainder (-36000%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; - -const complete::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { - kZoneNameHST /*name*/, - 0x0b87f034 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraHST /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Indian/Chagos // Eras: 3 @@ -30350,10 +29989,10 @@ static const complete::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 1996 + // 5:00 - %z 1996 { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -30363,10 +30002,10 @@ static const complete::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 1440 /*offsetCode (21600/15)*/, 0 /*offsetRemainder (21600%15)*/, 0 /*deltaMinutes*/, @@ -30422,10 +30061,10 @@ static const complete::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 1200 /*offsetCode (18000/15)*/, 0 /*offsetRemainder (18000%15)*/, 0 /*deltaMinutes*/, @@ -30468,10 +30107,10 @@ static const complete::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 4:00 Mauritius +04/+05 + // 4:00 Mauritius %z { &kZonePolicyMauritius /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 960 /*offsetCode (14400/15)*/, 0 /*offsetRemainder (14400%15)*/, 0 /*deltaMinutes*/, @@ -30495,138 +30134,6 @@ const complete::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: MET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur ME%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "ME%T" /*format*/, - 240 /*offsetCode (3600/15)*/, - 0 /*offsetRemainder (3600%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; - -const complete::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { - kZoneNameMET /*name*/, - 0x0b8803ab /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = { - // -7:00 - MST - { - nullptr /*zonePolicy*/, - "MST" /*format*/, - -1680 /*offsetCode (-25200/15)*/, - 0 /*offsetRemainder (-25200%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; - -const complete::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { - kZoneNameMST /*name*/, - 0x0b880579 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST7MDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = { - // -7:00 US M%sT - { - &kZonePolicyUS /*zonePolicy*/, - "M%T" /*format*/, - -1680 /*offsetCode (-25200/15)*/, - 0 /*offsetRemainder (-25200%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; - -const complete::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { - kZoneNameMST7MDT /*name*/, - 0xf2af9375 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST7MDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: PST8PDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = { - // -8:00 US P%sT - { - &kZonePolicyUS /*zonePolicy*/, - "P%T" /*format*/, - -1920 /*offsetCode (-28800/15)*/, - 0 /*offsetRemainder (-28800%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; - -const complete::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { - kZoneNamePST8PDT /*name*/, - 0xd99ee2dc /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraPST8PDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Pacific/Apia // Eras: 5 @@ -30659,10 +30166,10 @@ static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:30 - -1130 1950 + // -11:30 - %z 1950 { nullptr /*zonePolicy*/, - "-1130" /*format*/, + "" /*format*/, -2760 /*offsetCode (-41400/15)*/, 0 /*offsetRemainder (-41400%15)*/, 0 /*deltaMinutes*/, @@ -30672,10 +30179,10 @@ static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:00 WS -11/-10 2011 Dec 29 24:00 + // -11:00 WS %z 2011 Dec 29 24:00 { &kZonePolicyWS /*zonePolicy*/, - "-11/-10" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -30685,10 +30192,10 @@ static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 WS +13/+14 + // 13:00 WS %z { &kZonePolicyWS /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -30803,10 +30310,10 @@ static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 1942 Jul + // 10:00 - %z 1942 Jul { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -30816,10 +30323,10 @@ static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Aug 21 + // 9:00 - %z 1945 Aug 21 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -30829,10 +30336,10 @@ static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 2014 Dec 28 2:00 + // 10:00 - %z 2014 Dec 28 2:00 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -30842,10 +30349,10 @@ static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -30888,10 +30395,10 @@ static const complete::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:15 - +1215 1946 Jan 1 + // 12:15 - %z 1946 Jan 1 { nullptr /*zonePolicy*/, - "+1215" /*format*/, + "" /*format*/, 2940 /*offsetCode (44100/15)*/, 0 /*offsetRemainder (44100%15)*/, 0 /*deltaMinutes*/, @@ -30901,10 +30408,10 @@ static const complete::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:45 Chatham +1245/+1345 + // 12:45 Chatham %z { &kZonePolicyChatham /*zonePolicy*/, - "+1245/+1345" /*format*/, + "" /*format*/, 3060 /*offsetCode (45900/15)*/, 0 /*offsetRemainder (45900%15)*/, 0 /*deltaMinutes*/, @@ -30960,10 +30467,10 @@ static const complete::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -7:00 Chile -07/-06 1982 Mar 14 3:00u + // -7:00 Chile %z 1982 Mar 14 3:00u { &kZonePolicyChile /*zonePolicy*/, - "-07/-06" /*format*/, + "" /*format*/, -1680 /*offsetCode (-25200/15)*/, 0 /*offsetRemainder (-25200%15)*/, 0 /*deltaMinutes*/, @@ -30973,10 +30480,10 @@ static const complete::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, - // -6:00 Chile -06/-05 + // -6:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -1440 /*offsetCode (-21600/15)*/, 0 /*offsetRemainder (-21600%15)*/, 0 /*deltaMinutes*/, @@ -31019,10 +30526,10 @@ static const complete::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 Vanuatu +11/+12 + // 11:00 Vanuatu %z { &kZonePolicyVanuatu /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31065,10 +30572,10 @@ static const complete::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:00 - -11 2011 Dec 30 + // -11:00 - %z 2011 Dec 30 { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -31078,10 +30585,10 @@ static const complete::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 - +13 + // 13:00 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -31124,10 +30631,10 @@ static const complete::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 Fiji +12/+13 + // 12:00 Fiji %z { &kZonePolicyFiji /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -31170,10 +30677,10 @@ static const complete::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -5:00 - -05 1986 + // -5:00 - %z 1986 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -1200 /*offsetCode (-18000/15)*/, 0 /*offsetRemainder (-18000%15)*/, 0 /*deltaMinutes*/, @@ -31183,10 +30690,10 @@ static const complete::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -6:00 Ecuador -06/-05 + // -6:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -1440 /*offsetCode (-21600/15)*/, 0 /*offsetRemainder (-21600%15)*/, 0 /*deltaMinutes*/, @@ -31229,10 +30736,10 @@ static const complete::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -9:00 - -09 + // -9:00 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -2160 /*offsetCode (-32400/15)*/, 0 /*offsetRemainder (-32400%15)*/, 0 /*deltaMinutes*/, @@ -31275,10 +30782,10 @@ static const complete::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31347,10 +30854,10 @@ static const complete::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1944 Jul 31 + // 9:00 - %z 1944 Jul 31 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -31504,10 +31011,10 @@ static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -12:00 - -12 1979 Oct + // -12:00 - %z 1979 Oct { nullptr /*zonePolicy*/, - "-12" /*format*/, + "" /*format*/, -2880 /*offsetCode (-43200/15)*/, 0 /*offsetRemainder (-43200%15)*/, 0 /*deltaMinutes*/, @@ -31517,10 +31024,10 @@ static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:00 - -11 1994 Dec 31 + // -11:00 - %z 1994 Dec 31 { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -31530,10 +31037,10 @@ static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 - +13 + // 13:00 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -31576,10 +31083,10 @@ static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -10:40 - -1040 1979 Oct + // -10:40 - %z 1979 Oct { nullptr /*zonePolicy*/, - "-1040" /*format*/, + "" /*format*/, -2560 /*offsetCode (-38400/15)*/, 0 /*offsetRemainder (-38400%15)*/, 0 /*deltaMinutes*/, @@ -31589,10 +31096,10 @@ static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -10:00 - -10 1994 Dec 31 + // -10:00 - %z 1994 Dec 31 { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -2400 /*offsetCode (-36000/15)*/, 0 /*offsetRemainder (-36000%15)*/, 0 /*deltaMinutes*/, @@ -31602,10 +31109,10 @@ static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 14:00 - +14 + // 14:00 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 3360 /*offsetCode (50400/15)*/, 0 /*offsetRemainder (50400%15)*/, 0 /*deltaMinutes*/, @@ -31661,10 +31168,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1914 Oct + // 11:00 - %z 1914 Oct { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31674,10 +31181,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1919 Feb 1 + // 9:00 - %z 1919 Feb 1 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -31687,10 +31194,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1937 + // 11:00 - %z 1937 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31700,10 +31207,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 1941 Apr 1 + // 10:00 - %z 1941 Apr 1 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -31713,10 +31220,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Aug + // 9:00 - %z 1945 Aug { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -31726,10 +31233,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1969 Oct + // 11:00 - %z 1969 Oct { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31739,10 +31246,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 - +12 1999 + // 12:00 - %z 1999 { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -31752,10 +31259,10 @@ static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31798,10 +31305,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1937 + // 11:00 - %z 1937 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31811,10 +31318,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 1941 Apr 1 + // 10:00 - %z 1941 Apr 1 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -31824,10 +31331,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1944 Feb 6 + // 9:00 - %z 1944 Feb 6 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -31837,10 +31344,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 - +11 1969 Oct + // 11:00 - %z 1969 Oct { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -31850,10 +31357,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -12:00 - -12 1993 Aug 20 24:00 + // -12:00 - %z 1993 Aug 20 24:00 { nullptr /*zonePolicy*/, - "-12" /*format*/, + "" /*format*/, -2880 /*offsetCode (-43200/15)*/, 0 /*offsetRemainder (-43200%15)*/, 0 /*deltaMinutes*/, @@ -31863,10 +31370,10 @@ static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -31909,10 +31416,10 @@ static const complete::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -9:30 - -0930 + // -9:30 - %z { nullptr /*zonePolicy*/, - "-0930" /*format*/, + "" /*format*/, -2280 /*offsetCode (-34200/15)*/, 0 /*offsetRemainder (-34200%15)*/, 0 /*deltaMinutes*/, @@ -31955,10 +31462,10 @@ static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:30 - +1130 1942 Aug 29 + // 11:30 - %z 1942 Aug 29 { nullptr /*zonePolicy*/, - "+1130" /*format*/, + "" /*format*/, 2760 /*offsetCode (41400/15)*/, 0 /*offsetRemainder (41400%15)*/, 0 /*deltaMinutes*/, @@ -31968,10 +31475,10 @@ static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 1945 Sep 8 + // 9:00 - %z 1945 Sep 8 { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -31981,10 +31488,10 @@ static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:30 - +1130 1979 Feb 10 2:00 + // 11:30 - %z 1979 Feb 10 2:00 { nullptr /*zonePolicy*/, - "+1130" /*format*/, + "" /*format*/, 2760 /*offsetCode (41400/15)*/, 0 /*offsetRemainder (41400%15)*/, 0 /*deltaMinutes*/, @@ -31994,10 +31501,10 @@ static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -32040,10 +31547,10 @@ static const complete::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:20 - -1120 1964 Jul + // -11:20 - %z 1964 Jul { nullptr /*zonePolicy*/, - "-1120" /*format*/, + "" /*format*/, -2720 /*offsetCode (-40800/15)*/, 0 /*offsetRemainder (-40800%15)*/, 0 /*deltaMinutes*/, @@ -32053,10 +31560,10 @@ static const complete::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -11:00 - -11 + // -11:00 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -32099,10 +31606,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:12 - +1112 1951 + // 11:12 - %z 1951 { nullptr /*zonePolicy*/, - "+1112" /*format*/, + "" /*format*/, 2688 /*offsetCode (40320/15)*/, 0 /*offsetRemainder (40320%15)*/, 0 /*deltaMinutes*/, @@ -32112,10 +31619,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:30 - +1130 1974 Oct 27 02:00s + // 11:30 - %z 1974 Oct 27 02:00s { nullptr /*zonePolicy*/, - "+1130" /*format*/, + "" /*format*/, 2760 /*offsetCode (41400/15)*/, 0 /*offsetRemainder (41400%15)*/, 0 /*deltaMinutes*/, @@ -32125,10 +31632,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:30 1:00 +1230 1975 Mar 2 02:00s + // 11:30 1:00 %z 1975 Mar 2 02:00s { nullptr /*zonePolicy*/, - "+1230" /*format*/, + "" /*format*/, 2760 /*offsetCode (41400/15)*/, 0 /*offsetRemainder (41400%15)*/, 60 /*deltaMinutes*/, @@ -32138,10 +31645,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:30 - +1130 2015 Oct 4 02:00s + // 11:30 - %z 2015 Oct 4 02:00s { nullptr /*zonePolicy*/, - "+1130" /*format*/, + "" /*format*/, 2760 /*offsetCode (41400/15)*/, 0 /*offsetRemainder (41400%15)*/, 0 /*deltaMinutes*/, @@ -32151,10 +31658,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 480 /*untilTimeCode (7200/15)*/, 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, }, - // 11:00 - +11 2019 Jul + // 11:00 - %z 2019 Jul { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -32164,10 +31671,10 @@ static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 AN +11/+12 + // 11:00 AN %z { &kZonePolicyAN /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -32210,10 +31717,10 @@ static const complete::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 11:00 NC +11/+12 + // 11:00 NC %z { &kZonePolicyNC /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 2640 /*offsetCode (39600/15)*/, 0 /*offsetRemainder (39600%15)*/, 0 /*deltaMinutes*/, @@ -32328,10 +31835,10 @@ static const complete::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 2160 /*offsetCode (32400/15)*/, 0 /*offsetRemainder (32400%15)*/, 0 /*deltaMinutes*/, @@ -32374,10 +31881,10 @@ static const complete::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -8:30 - -0830 1998 Apr 27 0:00 + // -8:30 - %z 1998 Apr 27 0:00 { nullptr /*zonePolicy*/, - "-0830" /*format*/, + "" /*format*/, -2040 /*offsetCode (-30600/15)*/, 0 /*offsetRemainder (-30600%15)*/, 0 /*deltaMinutes*/, @@ -32387,10 +31894,10 @@ static const complete::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -8:00 - -08 + // -8:00 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -1920 /*offsetCode (-28800/15)*/, 0 /*offsetRemainder (-28800%15)*/, 0 /*deltaMinutes*/, @@ -32446,10 +31953,10 @@ static const complete::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 2400 /*offsetCode (36000/15)*/, 0 /*offsetRemainder (36000%15)*/, 0 /*deltaMinutes*/, @@ -32505,10 +32012,10 @@ static const complete::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -10:30 - -1030 1978 Nov 12 + // -10:30 - %z 1978 Nov 12 { nullptr /*zonePolicy*/, - "-1030" /*format*/, + "" /*format*/, -2520 /*offsetCode (-37800/15)*/, 0 /*offsetRemainder (-37800%15)*/, 0 /*deltaMinutes*/, @@ -32518,10 +32025,10 @@ static const complete::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -10:00 Cook -10/-0930 + // -10:00 Cook %z { &kZonePolicyCook /*zonePolicy*/, - "-10/-0930" /*format*/, + "" /*format*/, -2400 /*offsetCode (-36000/15)*/, 0 /*offsetRemainder (-36000%15)*/, 0 /*deltaMinutes*/, @@ -32564,10 +32071,10 @@ static const complete::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -10:00 - -10 + // -10:00 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -2400 /*offsetCode (-36000/15)*/, 0 /*offsetRemainder (-36000%15)*/, 0 /*deltaMinutes*/, @@ -32610,10 +32117,10 @@ static const complete::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 2880 /*offsetCode (43200/15)*/, 0 /*offsetRemainder (43200%15)*/, 0 /*deltaMinutes*/, @@ -32656,10 +32163,10 @@ static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 12:20 - +1220 1961 + // 12:20 - %z 1961 { nullptr /*zonePolicy*/, - "+1220" /*format*/, + "" /*format*/, 2960 /*offsetCode (44400/15)*/, 0 /*offsetRemainder (44400%15)*/, 0 /*deltaMinutes*/, @@ -32669,10 +32176,10 @@ static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 - +13 1999 + // 13:00 - %z 1999 { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -32682,10 +32189,10 @@ static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 Tonga +13/+14 + // 13:00 Tonga %z { &kZonePolicyTonga /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, @@ -32709,43 +32216,10 @@ const complete::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: WET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const complete::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = { - // 0:00 EU WE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "WE%T" /*format*/, - 0 /*offsetCode (0/15)*/, - 0 /*offsetRemainder (0%15)*/, - 0 /*deltaMinutes*/, - 32767 /*untilYear*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode (0/15)*/, - 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, - }, - -}; - -static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; - -const complete::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { - kZoneNameWET /*name*/, - 0x0b882e35 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraWET /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- -// Links: 245 +// Links: 257 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -33508,7 +32982,7 @@ const complete::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = { kZoneNameAmerica_Ensenada /*name*/, 0x7bc95445 /*zoneId*/, &kZoneContext /*zoneContext*/, - 19 /*numEras*/, + 25 /*numEras*/, kZoneEraAmerica_Tijuana /*eras*/, &kZoneAmerica_Tijuana /*targetInfo*/, }; @@ -33838,7 +33312,7 @@ const complete::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = { kZoneNameAmerica_Santa_Isabel /*name*/, 0xfd18a56c /*zoneId*/, &kZoneContext /*zoneContext*/, - 19 /*numEras*/, + 25 /*numEras*/, kZoneEraAmerica_Tijuana /*eras*/, &kZoneAmerica_Tijuana /*targetInfo*/, }; @@ -34143,6 +33617,21 @@ const complete::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = { &kZoneAsia_Kolkata /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: Asia/Choibalsan -> Asia/Ulaanbaatar +//--------------------------------------------------------------------------- + +static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan"; + +const complete::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = { + kZoneNameAsia_Choibalsan /*name*/, + 0x928aa4a6 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 3 /*numEras*/, + kZoneEraAsia_Ulaanbaatar /*eras*/, + &kZoneAsia_Ulaanbaatar /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Asia/Chongqing -> Asia/Shanghai //--------------------------------------------------------------------------- @@ -34728,6 +34217,36 @@ const complete::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = { &kZoneAmerica_Manaus /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: CET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; + +const complete::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { + kZoneNameCET /*name*/, + 0x0b87d921 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 9 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: CST6CDT -> America/Chicago +//--------------------------------------------------------------------------- + +static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; + +const complete::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { + kZoneNameCST6CDT /*name*/, + 0xf0e87d00 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 8 /*numEras*/, + kZoneEraAmerica_Chicago /*eras*/, + &kZoneAmerica_Chicago /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Canada/Atlantic -> America/Halifax //--------------------------------------------------------------------------- @@ -34893,6 +34412,51 @@ const complete::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = { &kZoneAmerica_Havana /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: EET -> Europe/Athens +//--------------------------------------------------------------------------- + +static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; + +const complete::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { + kZoneNameEET /*name*/, + 0x0b87e1a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 6 /*numEras*/, + kZoneEraEurope_Athens /*eras*/, + &kZoneEurope_Athens /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST -> America/Panama +//--------------------------------------------------------------------------- + +static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; + +const complete::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { + kZoneNameEST /*name*/, + 0x0b87e371 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 3 /*numEras*/, + kZoneEraAmerica_Panama /*eras*/, + &kZoneAmerica_Panama /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST5EDT -> America/New_York +//--------------------------------------------------------------------------- + +static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; + +const complete::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { + kZoneNameEST5EDT /*name*/, + 0x8adc72a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 6 /*numEras*/, + kZoneEraAmerica_New_York /*eras*/, + &kZoneAmerica_New_York /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Egypt -> Africa/Cairo //--------------------------------------------------------------------------- @@ -35523,6 +35087,21 @@ const complete::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = { &kZoneEtc_GMT /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: HST -> Pacific/Honolulu +//--------------------------------------------------------------------------- + +static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; + +const complete::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { + kZoneNameHST /*name*/, + 0x0b87f034 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 5 /*numEras*/, + kZoneEraPacific_Honolulu /*eras*/, + &kZonePacific_Honolulu /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Hongkong -> Asia/Hong_Kong //--------------------------------------------------------------------------- @@ -35763,6 +35342,51 @@ const complete::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = { &kZoneAfrica_Tripoli /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: MET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; + +const complete::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { + kZoneNameMET /*name*/, + 0x0b8803ab /*zoneId*/, + &kZoneContext /*zoneContext*/, + 9 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST -> America/Phoenix +//--------------------------------------------------------------------------- + +static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; + +const complete::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { + kZoneNameMST /*name*/, + 0x0b880579 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 7 /*numEras*/, + kZoneEraAmerica_Phoenix /*eras*/, + &kZoneAmerica_Phoenix /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST7MDT -> America/Denver +//--------------------------------------------------------------------------- + +static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; + +const complete::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { + kZoneNameMST7MDT /*name*/, + 0xf2af9375 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 6 /*numEras*/, + kZoneEraAmerica_Denver /*eras*/, + &kZoneAmerica_Denver /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Mexico/BajaNorte -> America/Tijuana //--------------------------------------------------------------------------- @@ -35773,7 +35397,7 @@ const complete::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = { kZoneNameMexico_BajaNorte /*name*/, 0xfcf7150f /*zoneId*/, &kZoneContext /*zoneContext*/, - 19 /*numEras*/, + 25 /*numEras*/, kZoneEraAmerica_Tijuana /*eras*/, &kZoneAmerica_Tijuana /*targetInfo*/, }; @@ -35788,7 +35412,7 @@ const complete::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = { kZoneNameMexico_BajaSur /*name*/, 0x08ee3641 /*zoneId*/, &kZoneContext /*zoneContext*/, - 8 /*numEras*/, + 7 /*numEras*/, kZoneEraAmerica_Mazatlan /*eras*/, &kZoneAmerica_Mazatlan /*targetInfo*/, }; @@ -35868,6 +35492,21 @@ const complete::ZoneInfo kZonePRC ACE_TIME_PROGMEM = { &kZoneAsia_Shanghai /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: PST8PDT -> America/Los_Angeles +//--------------------------------------------------------------------------- + +static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; + +const complete::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { + kZoneNamePST8PDT /*name*/, + 0xd99ee2dc /*zoneId*/, + &kZoneContext /*zoneContext*/, + 4 /*numEras*/, + kZoneEraAmerica_Los_Angeles /*eras*/, + &kZoneAmerica_Los_Angeles /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Pacific/Chuuk -> Pacific/Port_Moresby //--------------------------------------------------------------------------- @@ -36408,6 +36047,21 @@ const complete::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = { &kZoneEurope_Moscow /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: WET -> Europe/Lisbon +//--------------------------------------------------------------------------- + +static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; + +const complete::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { + kZoneNameWET /*name*/, + 0x0b882e35 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 8 /*numEras*/, + kZoneEraEurope_Lisbon /*eras*/, + &kZoneEurope_Lisbon /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Zulu -> Etc/UTC //--------------------------------------------------------------------------- diff --git a/src/zonedbc/zone_infos.h b/src/zonedbc/zone_infos.h index 1275d68a9..a49ed71d3 100644 --- a/src/zonedbc/zone_infos.h +++ b/src/zonedbc/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT @@ -95,7 +95,7 @@ extern const __FlashStringHelper* const kTzDatabaseVersion; extern const complete::ZoneContext kZoneContext; //--------------------------------------------------------------------------- -// Supported zones: 351 +// Supported zones: 339 //--------------------------------------------------------------------------- extern const complete::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan @@ -259,7 +259,6 @@ extern const complete::ZoneInfo kZoneAsia_Barnaul; // Asia/Barnaul extern const complete::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut extern const complete::ZoneInfo kZoneAsia_Bishkek; // Asia/Bishkek extern const complete::ZoneInfo kZoneAsia_Chita; // Asia/Chita -extern const complete::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan extern const complete::ZoneInfo kZoneAsia_Colombo; // Asia/Colombo extern const complete::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus extern const complete::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka @@ -339,11 +338,6 @@ extern const complete::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe extern const complete::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne extern const complete::ZoneInfo kZoneAustralia_Perth; // Australia/Perth extern const complete::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney -extern const complete::ZoneInfo kZoneCET; // CET -extern const complete::ZoneInfo kZoneCST6CDT; // CST6CDT -extern const complete::ZoneInfo kZoneEET; // EET -extern const complete::ZoneInfo kZoneEST; // EST -extern const complete::ZoneInfo kZoneEST5EDT; // EST5EDT extern const complete::ZoneInfo kZoneEtc_GMT; // Etc/GMT extern const complete::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1 extern const complete::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10 @@ -410,14 +404,9 @@ extern const complete::ZoneInfo kZoneEurope_Vilnius; // Europe/Vilnius extern const complete::ZoneInfo kZoneEurope_Volgograd; // Europe/Volgograd extern const complete::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw extern const complete::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich -extern const complete::ZoneInfo kZoneHST; // HST extern const complete::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos extern const complete::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives extern const complete::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius -extern const complete::ZoneInfo kZoneMET; // MET -extern const complete::ZoneInfo kZoneMST; // MST -extern const complete::ZoneInfo kZoneMST7MDT; // MST7MDT -extern const complete::ZoneInfo kZonePST8PDT; // PST8PDT extern const complete::ZoneInfo kZonePacific_Apia; // Pacific/Apia extern const complete::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland extern const complete::ZoneInfo kZonePacific_Bougainville; // Pacific/Bougainville @@ -448,7 +437,6 @@ extern const complete::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga extern const complete::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti extern const complete::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa extern const complete::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu -extern const complete::ZoneInfo kZoneWET; // WET // Zone Ids @@ -614,7 +602,6 @@ const uint32_t kZoneIdAsia_Barnaul = 0x9dba4997; // Asia/Barnaul const uint32_t kZoneIdAsia_Beirut = 0xa7f3d5fd; // Asia/Beirut const uint32_t kZoneIdAsia_Bishkek = 0xb0728553; // Asia/Bishkek const uint32_t kZoneIdAsia_Chita = 0x14ae863b; // Asia/Chita -const uint32_t kZoneIdAsia_Choibalsan = 0x928aa4a6; // Asia/Choibalsan const uint32_t kZoneIdAsia_Colombo = 0x0af0e91d; // Asia/Colombo const uint32_t kZoneIdAsia_Damascus = 0x20fbb063; // Asia/Damascus const uint32_t kZoneIdAsia_Dhaka = 0x14c07b8b; // Asia/Dhaka @@ -694,11 +681,6 @@ const uint32_t kZoneIdAustralia_Lord_Howe = 0xa748b67d; // Australia/Lord_Howe const uint32_t kZoneIdAustralia_Melbourne = 0x0fe559a3; // Australia/Melbourne const uint32_t kZoneIdAustralia_Perth = 0x8db8269d; // Australia/Perth const uint32_t kZoneIdAustralia_Sydney = 0x4d1e9776; // Australia/Sydney -const uint32_t kZoneIdCET = 0x0b87d921; // CET -const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT -const uint32_t kZoneIdEET = 0x0b87e1a3; // EET -const uint32_t kZoneIdEST = 0x0b87e371; // EST -const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEtc_GMT = 0xd8e2de58; // Etc/GMT const uint32_t kZoneIdEtc_GMT_PLUS_1 = 0x9d13da14; // Etc/GMT+1 const uint32_t kZoneIdEtc_GMT_PLUS_10 = 0x3f8f1cc4; // Etc/GMT+10 @@ -765,14 +747,9 @@ const uint32_t kZoneIdEurope_Vilnius = 0xdd63b8ce; // Europe/Vilnius const uint32_t kZoneIdEurope_Volgograd = 0x3ed0f389; // Europe/Volgograd const uint32_t kZoneIdEurope_Warsaw = 0x75185c19; // Europe/Warsaw const uint32_t kZoneIdEurope_Zurich = 0x7d8195b9; // Europe/Zurich -const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdIndian_Chagos = 0x456f7c3c; // Indian/Chagos const uint32_t kZoneIdIndian_Maldives = 0x9869681c; // Indian/Maldives const uint32_t kZoneIdIndian_Mauritius = 0x7b09c02a; // Indian/Mauritius -const uint32_t kZoneIdMET = 0x0b8803ab; // MET -const uint32_t kZoneIdMST = 0x0b880579; // MST -const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT -const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Apia = 0x23359b5e; // Pacific/Apia const uint32_t kZoneIdPacific_Auckland = 0x25062f86; // Pacific/Auckland const uint32_t kZoneIdPacific_Bougainville = 0x5e10f7a4; // Pacific/Bougainville @@ -803,11 +780,10 @@ const uint32_t kZoneIdPacific_Rarotonga = 0x9981a3b0; // Pacific/Rarotonga const uint32_t kZoneIdPacific_Tahiti = 0xf24c2446; // Pacific/Tahiti const uint32_t kZoneIdPacific_Tarawa = 0xf2517e63; // Pacific/Tarawa const uint32_t kZoneIdPacific_Tongatapu = 0x262ca836; // Pacific/Tongatapu -const uint32_t kZoneIdWET = 0x0b882e35; // WET //--------------------------------------------------------------------------- -// Supported links: 245 +// Supported links: 257 //--------------------------------------------------------------------------- extern const complete::ZoneInfo kZoneAfrica_Accra; // Africa/Accra -> Africa/Abidjan @@ -903,6 +879,7 @@ extern const complete::ZoneInfo kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/A extern const complete::ZoneInfo kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar extern const complete::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei -> Asia/Kuching extern const complete::ZoneInfo kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata +extern const complete::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan -> Asia/Ulaanbaatar extern const complete::ZoneInfo kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai extern const complete::ZoneInfo kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai extern const complete::ZoneInfo kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka @@ -942,6 +919,8 @@ extern const complete::ZoneInfo kZoneBrazil_Acre; // Brazil/Acre -> America/Rio_ extern const complete::ZoneInfo kZoneBrazil_DeNoronha; // Brazil/DeNoronha -> America/Noronha extern const complete::ZoneInfo kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo extern const complete::ZoneInfo kZoneBrazil_West; // Brazil/West -> America/Manaus +extern const complete::ZoneInfo kZoneCET; // CET -> Europe/Brussels +extern const complete::ZoneInfo kZoneCST6CDT; // CST6CDT -> America/Chicago extern const complete::ZoneInfo kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax extern const complete::ZoneInfo kZoneCanada_Central; // Canada/Central -> America/Winnipeg extern const complete::ZoneInfo kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto @@ -953,6 +932,9 @@ extern const complete::ZoneInfo kZoneCanada_Yukon; // Canada/Yukon -> America/Wh extern const complete::ZoneInfo kZoneChile_Continental; // Chile/Continental -> America/Santiago extern const complete::ZoneInfo kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter extern const complete::ZoneInfo kZoneCuba; // Cuba -> America/Havana +extern const complete::ZoneInfo kZoneEET; // EET -> Europe/Athens +extern const complete::ZoneInfo kZoneEST; // EST -> America/Panama +extern const complete::ZoneInfo kZoneEST5EDT; // EST5EDT -> America/New_York extern const complete::ZoneInfo kZoneEgypt; // Egypt -> Africa/Cairo extern const complete::ZoneInfo kZoneEire; // Eire -> Europe/Dublin extern const complete::ZoneInfo kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT @@ -995,6 +977,7 @@ extern const complete::ZoneInfo kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT extern const complete::ZoneInfo kZoneGMT_0; // GMT-0 -> Etc/GMT extern const complete::ZoneInfo kZoneGMT0; // GMT0 -> Etc/GMT extern const complete::ZoneInfo kZoneGreenwich; // Greenwich -> Etc/GMT +extern const complete::ZoneInfo kZoneHST; // HST -> Pacific/Honolulu extern const complete::ZoneInfo kZoneHongkong; // Hongkong -> Asia/Hong_Kong extern const complete::ZoneInfo kZoneIceland; // Iceland -> Africa/Abidjan extern const complete::ZoneInfo kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi @@ -1011,6 +994,9 @@ extern const complete::ZoneInfo kZoneJamaica; // Jamaica -> America/Jamaica extern const complete::ZoneInfo kZoneJapan; // Japan -> Asia/Tokyo extern const complete::ZoneInfo kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein extern const complete::ZoneInfo kZoneLibya; // Libya -> Africa/Tripoli +extern const complete::ZoneInfo kZoneMET; // MET -> Europe/Brussels +extern const complete::ZoneInfo kZoneMST; // MST -> America/Phoenix +extern const complete::ZoneInfo kZoneMST7MDT; // MST7MDT -> America/Denver extern const complete::ZoneInfo kZoneMexico_BajaNorte; // Mexico/BajaNorte -> America/Tijuana extern const complete::ZoneInfo kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan extern const complete::ZoneInfo kZoneMexico_General; // Mexico/General -> America/Mexico_City @@ -1018,6 +1004,7 @@ extern const complete::ZoneInfo kZoneNZ; // NZ -> Pacific/Auckland extern const complete::ZoneInfo kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham extern const complete::ZoneInfo kZoneNavajo; // Navajo -> America/Denver extern const complete::ZoneInfo kZonePRC; // PRC -> Asia/Shanghai +extern const complete::ZoneInfo kZonePST8PDT; // PST8PDT -> America/Los_Angeles extern const complete::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk -> Pacific/Port_Moresby extern const complete::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury -> Pacific/Kanton extern const complete::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti -> Pacific/Tarawa @@ -1054,6 +1041,7 @@ extern const complete::ZoneInfo kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago extern const complete::ZoneInfo kZoneUTC; // UTC -> Etc/UTC extern const complete::ZoneInfo kZoneUniversal; // Universal -> Etc/UTC extern const complete::ZoneInfo kZoneW_SU; // W-SU -> Europe/Moscow +extern const complete::ZoneInfo kZoneWET; // WET -> Europe/Lisbon extern const complete::ZoneInfo kZoneZulu; // Zulu -> Etc/UTC @@ -1152,6 +1140,7 @@ const uint32_t kZoneIdAsia_Ashkhabad = 0x15454f09; // Asia/Ashkhabad const uint32_t kZoneIdAsia_Bahrain = 0x9d078487; // Asia/Bahrain const uint32_t kZoneIdAsia_Brunei = 0xa8e595f7; // Asia/Brunei const uint32_t kZoneIdAsia_Calcutta = 0x328a44c3; // Asia/Calcutta +const uint32_t kZoneIdAsia_Choibalsan = 0x928aa4a6; // Asia/Choibalsan const uint32_t kZoneIdAsia_Chongqing = 0xf937fb90; // Asia/Chongqing const uint32_t kZoneIdAsia_Chungking = 0xc7121dd0; // Asia/Chungking const uint32_t kZoneIdAsia_Dacca = 0x14bcac5e; // Asia/Dacca @@ -1191,6 +1180,8 @@ const uint32_t kZoneIdBrazil_Acre = 0x66934f93; // Brazil/Acre const uint32_t kZoneIdBrazil_DeNoronha = 0x9b4cb496; // Brazil/DeNoronha const uint32_t kZoneIdBrazil_East = 0x669578c5; // Brazil/East const uint32_t kZoneIdBrazil_West = 0x669f689b; // Brazil/West +const uint32_t kZoneIdCET = 0x0b87d921; // CET +const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT const uint32_t kZoneIdCanada_Atlantic = 0x536b119c; // Canada/Atlantic const uint32_t kZoneIdCanada_Central = 0x626710f5; // Canada/Central const uint32_t kZoneIdCanada_Eastern = 0xf3612d5e; // Canada/Eastern @@ -1202,6 +1193,9 @@ const uint32_t kZoneIdCanada_Yukon = 0x78dd35c2; // Canada/Yukon const uint32_t kZoneIdChile_Continental = 0x7e2bdb18; // Chile/Continental const uint32_t kZoneIdChile_EasterIsland = 0xb0982af8; // Chile/EasterIsland const uint32_t kZoneIdCuba = 0x7c83cba0; // Cuba +const uint32_t kZoneIdEET = 0x0b87e1a3; // EET +const uint32_t kZoneIdEST = 0x0b87e371; // EST +const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEgypt = 0x0d1a278e; // Egypt const uint32_t kZoneIdEire = 0x7c84b36a; // Eire const uint32_t kZoneIdEtc_GMT_PLUS_0 = 0x9d13da13; // Etc/GMT+0 @@ -1244,6 +1238,7 @@ const uint32_t kZoneIdGMT_PLUS_0 = 0x0d2f7028; // GMT+0 const uint32_t kZoneIdGMT_0 = 0x0d2f706a; // GMT-0 const uint32_t kZoneIdGMT0 = 0x7c8550fd; // GMT0 const uint32_t kZoneIdGreenwich = 0xc84d4221; // Greenwich +const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdHongkong = 0x56d36560; // Hongkong const uint32_t kZoneIdIceland = 0xe56a35b5; // Iceland const uint32_t kZoneIdIndian_Antananarivo = 0x9ebf5289; // Indian/Antananarivo @@ -1260,6 +1255,9 @@ const uint32_t kZoneIdJamaica = 0x2e44fdab; // Jamaica const uint32_t kZoneIdJapan = 0x0d712f8f; // Japan const uint32_t kZoneIdKwajalein = 0x0e57afbb; // Kwajalein const uint32_t kZoneIdLibya = 0x0d998b16; // Libya +const uint32_t kZoneIdMET = 0x0b8803ab; // MET +const uint32_t kZoneIdMST = 0x0b880579; // MST +const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT const uint32_t kZoneIdMexico_BajaNorte = 0xfcf7150f; // Mexico/BajaNorte const uint32_t kZoneIdMexico_BajaSur = 0x08ee3641; // Mexico/BajaSur const uint32_t kZoneIdMexico_General = 0x93711d57; // Mexico/General @@ -1267,6 +1265,7 @@ const uint32_t kZoneIdNZ = 0x005974ad; // NZ const uint32_t kZoneIdNZ_CHAT = 0x4d42afda; // NZ-CHAT const uint32_t kZoneIdNavajo = 0xc4ef0e24; // Navajo const uint32_t kZoneIdPRC = 0x0b88120a; // PRC +const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Chuuk = 0x8a090b23; // Pacific/Chuuk const uint32_t kZoneIdPacific_Enderbury = 0x61599a93; // Pacific/Enderbury const uint32_t kZoneIdPacific_Funafuti = 0xdb402d65; // Pacific/Funafuti @@ -1303,6 +1302,7 @@ const uint32_t kZoneIdUS_Samoa = 0x566821cd; // US/Samoa const uint32_t kZoneIdUTC = 0x0b882791; // UTC const uint32_t kZoneIdUniversal = 0xd0ff523e; // Universal const uint32_t kZoneIdW_SU = 0x7c8d8ef1; // W-SU +const uint32_t kZoneIdWET = 0x0b882e35; // WET const uint32_t kZoneIdZulu = 0x7c9069b5; // Zulu @@ -1325,7 +1325,7 @@ const uint8_t kZoneBufSizeAfrica_Johannesburg = 4; // Africa/Johannesburg in 19 const uint8_t kZoneBufSizeAfrica_Juba = 4; // Africa/Juba in 1970 const uint8_t kZoneBufSizeAfrica_Khartoum = 4; // Africa/Khartoum in 1970 const uint8_t kZoneBufSizeAfrica_Lagos = 2; // Africa/Lagos in 1905 -const uint8_t kZoneBufSizeAfrica_Maputo = 2; // Africa/Maputo in 1903 +const uint8_t kZoneBufSizeAfrica_Maputo = 2; // Africa/Maputo in 1908 const uint8_t kZoneBufSizeAfrica_Monrovia = 2; // Africa/Monrovia in 1881 const uint8_t kZoneBufSizeAfrica_Nairobi = 2; // Africa/Nairobi in 1908 const uint8_t kZoneBufSizeAfrica_Ndjamena = 2; // Africa/Ndjamena in 1911 @@ -1359,7 +1359,7 @@ const uint8_t kZoneBufSizeAmerica_Bogota = 3; // America/Bogota in 1914 const uint8_t kZoneBufSizeAmerica_Boise = 6; // America/Boise in 1974 const uint8_t kZoneBufSizeAmerica_Cambridge_Bay = 6; // America/Cambridge_Bay in 2008 const uint8_t kZoneBufSizeAmerica_Campo_Grande = 6; // America/Campo_Grande in 1964 -const uint8_t kZoneBufSizeAmerica_Cancun = 5; // America/Cancun in 1998 +const uint8_t kZoneBufSizeAmerica_Cancun = 5; // America/Cancun in 1997 const uint8_t kZoneBufSizeAmerica_Caracas = 2; // America/Caracas in 1889 const uint8_t kZoneBufSizeAmerica_Cayenne = 2; // America/Cayenne in 1911 const uint8_t kZoneBufSizeAmerica_Chicago = 6; // America/Chicago in 2008 @@ -1385,7 +1385,7 @@ const uint8_t kZoneBufSizeAmerica_Guayaquil = 3; // America/Guayaquil in 1930 const uint8_t kZoneBufSizeAmerica_Guyana = 2; // America/Guyana in 1911 const uint8_t kZoneBufSizeAmerica_Halifax = 6; // America/Halifax in 1918 const uint8_t kZoneBufSizeAmerica_Havana = 6; // America/Havana in 2015 -const uint8_t kZoneBufSizeAmerica_Hermosillo = 4; // America/Hermosillo in 1996 +const uint8_t kZoneBufSizeAmerica_Hermosillo = 5; // America/Hermosillo in 1996 const uint8_t kZoneBufSizeAmerica_Indiana_Indianapolis = 6; // America/Indiana/Indianapolis in 2006 const uint8_t kZoneBufSizeAmerica_Indiana_Knox = 6; // America/Indiana/Knox in 2006 const uint8_t kZoneBufSizeAmerica_Indiana_Marengo = 6; // America/Indiana/Marengo in 2006 @@ -1475,7 +1475,6 @@ const uint8_t kZoneBufSizeAsia_Barnaul = 6; // Asia/Barnaul in 1991 const uint8_t kZoneBufSizeAsia_Beirut = 5; // Asia/Beirut in 1921 const uint8_t kZoneBufSizeAsia_Bishkek = 5; // Asia/Bishkek in 1987 const uint8_t kZoneBufSizeAsia_Chita = 6; // Asia/Chita in 1991 -const uint8_t kZoneBufSizeAsia_Choibalsan = 5; // Asia/Choibalsan in 1983 const uint8_t kZoneBufSizeAsia_Colombo = 3; // Asia/Colombo in 1942 const uint8_t kZoneBufSizeAsia_Damascus = 6; // Asia/Damascus in 2008 const uint8_t kZoneBufSizeAsia_Dhaka = 4; // Asia/Dhaka in 2009 @@ -1536,12 +1535,12 @@ const uint8_t kZoneBufSizeAsia_Yakutsk = 6; // Asia/Yakutsk in 1991 const uint8_t kZoneBufSizeAsia_Yangon = 2; // Asia/Yangon in 1879 const uint8_t kZoneBufSizeAsia_Yekaterinburg = 6; // Asia/Yekaterinburg in 1991 const uint8_t kZoneBufSizeAsia_Yerevan = 6; // Asia/Yerevan in 1991 -const uint8_t kZoneBufSizeAtlantic_Azores = 8; // Atlantic/Azores in 1942 +const uint8_t kZoneBufSizeAtlantic_Azores = 7; // Atlantic/Azores in 1942 const uint8_t kZoneBufSizeAtlantic_Bermuda = 6; // Atlantic/Bermuda in 2008 const uint8_t kZoneBufSizeAtlantic_Canary = 5; // Atlantic/Canary in 1980 const uint8_t kZoneBufSizeAtlantic_Cape_Verde = 2; // Atlantic/Cape_Verde in 1911 const uint8_t kZoneBufSizeAtlantic_Faroe = 5; // Atlantic/Faroe in 1981 -const uint8_t kZoneBufSizeAtlantic_Madeira = 8; // Atlantic/Madeira in 1942 +const uint8_t kZoneBufSizeAtlantic_Madeira = 7; // Atlantic/Madeira in 1942 const uint8_t kZoneBufSizeAtlantic_South_Georgia = 2; // Atlantic/South_Georgia in 1889 const uint8_t kZoneBufSizeAtlantic_Stanley = 5; // Atlantic/Stanley in 1938 const uint8_t kZoneBufSizeAustralia_Adelaide = 6; // Australia/Adelaide in 1942 @@ -1555,11 +1554,6 @@ const uint8_t kZoneBufSizeAustralia_Lord_Howe = 6; // Australia/Lord_Howe in 19 const uint8_t kZoneBufSizeAustralia_Melbourne = 6; // Australia/Melbourne in 1942 const uint8_t kZoneBufSizeAustralia_Perth = 6; // Australia/Perth in 1942 const uint8_t kZoneBufSizeAustralia_Sydney = 6; // Australia/Sydney in 1942 -const uint8_t kZoneBufSizeCET = 5; // CET in 1943 -const uint8_t kZoneBufSizeCST6CDT = 6; // CST6CDT in 2008 -const uint8_t kZoneBufSizeEET = 5; // EET in 1983 -const uint8_t kZoneBufSizeEST = 1; // EST in 1799 -const uint8_t kZoneBufSizeEST5EDT = 6; // EST5EDT in 2008 const uint8_t kZoneBufSizeEtc_GMT = 1; // Etc/GMT in 1799 const uint8_t kZoneBufSizeEtc_GMT_PLUS_1 = 1; // Etc/GMT+1 in 1799 const uint8_t kZoneBufSizeEtc_GMT_PLUS_10 = 1; // Etc/GMT+10 in 1799 @@ -1626,14 +1620,9 @@ const uint8_t kZoneBufSizeEurope_Vilnius = 7; // Europe/Vilnius in 1998 const uint8_t kZoneBufSizeEurope_Volgograd = 6; // Europe/Volgograd in 1988 const uint8_t kZoneBufSizeEurope_Warsaw = 6; // Europe/Warsaw in 1987 const uint8_t kZoneBufSizeEurope_Zurich = 5; // Europe/Zurich in 1981 -const uint8_t kZoneBufSizeHST = 1; // HST in 1799 const uint8_t kZoneBufSizeIndian_Chagos = 2; // Indian/Chagos in 1906 const uint8_t kZoneBufSizeIndian_Maldives = 2; // Indian/Maldives in 1879 const uint8_t kZoneBufSizeIndian_Mauritius = 3; // Indian/Mauritius in 1906 -const uint8_t kZoneBufSizeMET = 5; // MET in 1943 -const uint8_t kZoneBufSizeMST = 1; // MST in 1799 -const uint8_t kZoneBufSizeMST7MDT = 6; // MST7MDT in 2008 -const uint8_t kZoneBufSizePST8PDT = 6; // PST8PDT in 2008 const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 const uint8_t kZoneBufSizePacific_Auckland = 5; // Pacific/Auckland in 1928 const uint8_t kZoneBufSizePacific_Bougainville = 2; // Pacific/Bougainville in 1879 @@ -1664,7 +1653,6 @@ const uint8_t kZoneBufSizePacific_Rarotonga = 6; // Pacific/Rarotonga in 1979 const uint8_t kZoneBufSizePacific_Tahiti = 2; // Pacific/Tahiti in 1912 const uint8_t kZoneBufSizePacific_Tarawa = 2; // Pacific/Tarawa in 1900 const uint8_t kZoneBufSizePacific_Tongatapu = 5; // Pacific/Tongatapu in 1999 -const uint8_t kZoneBufSizeWET = 5; // WET in 1983 //--------------------------------------------------------------------------- @@ -1685,6 +1673,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Africa/Bissau {STDOFF '-1:02:20' not multiple of :15 min} // Africa/Cairo {STDOFF '2:05:09' not multiple of :15 min} // Africa/Casablanca { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-0:30:20' not multiple of :15 min, // Morocco {SAVE '-1:00' is a negative DST} // } @@ -1693,17 +1682,18 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Spain {SAVE '2:00' different from 1:00} // } // Africa/El_Aaiun { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-0:52:48' not multiple of :15 min, // Morocco {SAVE '-1:00' is a negative DST} // } // Africa/Johannesburg { -// RULES not fixed but FORMAT is missing '%' or '/', +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '1:52:00' not multiple of :15 min, // } // Africa/Juba {STDOFF '2:06:28' not multiple of :15 min} // Africa/Khartoum {STDOFF '2:10:08' not multiple of :15 min} // Africa/Lagos {STDOFF '0:13:35' not multiple of :15 min} -// Africa/Maputo {STDOFF '2:10:20' not multiple of :15 min} +// Africa/Maputo {STDOFF '2:10:18' not multiple of :15 min} // Africa/Monrovia { // STDOFF '-0:43:08' not multiple of :15 min, // STDOFF '-0:44:30' not multiple of :15 min, @@ -1742,60 +1732,86 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // UNTIL '14:31:37' not multiple of :01 min, // UNTIL '14:31:37' not multiple of :15 min, // } -// America/Araguaina {STDOFF '-3:12:48' not multiple of :15 min} +// America/Araguaina { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:12:48' not multiple of :15 min, +// } // America/Argentina/Buenos_Aires { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-3:53:48' not multiple of :15 min, // STDOFF '-4:16:48' not multiple of :15 min, // } // America/Argentina/Catamarca { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:23:08' not multiple of :15 min, // } -// America/Argentina/Cordoba {STDOFF '-4:16:48' not multiple of :15 min} +// America/Argentina/Cordoba { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:16:48' not multiple of :15 min, +// } // America/Argentina/Jujuy { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:21:12' not multiple of :15 min, // } // America/Argentina/La_Rioja { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:27:24' not multiple of :15 min, // } // America/Argentina/Mendoza { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:35:16' not multiple of :15 min, // } // America/Argentina/Rio_Gallegos { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:36:52' not multiple of :15 min, // } // America/Argentina/Salta { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:21:40' not multiple of :15 min, // } // America/Argentina/San_Juan { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:34:04' not multiple of :15 min, // } // America/Argentina/San_Luis { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:25:24' not multiple of :15 min, // } // America/Argentina/Tucuman { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:20:52' not multiple of :15 min, // } // America/Argentina/Ushuaia { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:16:48' not multiple of :15 min, // STDOFF '-4:33:12' not multiple of :15 min, // } -// America/Asuncion {STDOFF '-3:50:40' not multiple of :15 min} -// America/Bahia {STDOFF '-2:34:04' not multiple of :15 min} +// America/Asuncion { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:50:40' not multiple of :15 min, +// } +// America/Bahia { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-2:34:04' not multiple of :15 min, +// } // America/Bahia_Banderas {STDOFF '-7:01:00' not multiple of :15 min} // America/Barbados { // STDOFF '-3:58:29' not multiple of :15 min, // Barb {SAVE '0:30' different from 1:00} // } -// America/Belem {STDOFF '-3:13:56' not multiple of :15 min} +// America/Belem { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:13:56' not multiple of :15 min, +// } // America/Belize { // STDOFF '-5:52:48' not multiple of :15 min, // Belize { @@ -1807,10 +1823,19 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '0:30' different from 1:00, // } // } -// America/Boa_Vista {STDOFF '-4:02:40' not multiple of :15 min} -// America/Bogota {STDOFF '-4:56:16' not multiple of :15 min} +// America/Boa_Vista { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:02:40' not multiple of :15 min, +// } +// America/Bogota { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:56:16' not multiple of :15 min, +// } // America/Boise {STDOFF '-7:44:49' not multiple of :15 min} -// America/Campo_Grande {STDOFF '-3:38:28' not multiple of :15 min} +// America/Campo_Grande { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:38:28' not multiple of :15 min, +// } // America/Cancun {STDOFF '-5:47:04' not multiple of :15 min} // America/Caracas { // STDOFF '-4:27:40' not multiple of :15 min, @@ -1821,8 +1846,14 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // America/Chihuahua {STDOFF '-7:04:20' not multiple of :15 min} // America/Ciudad_Juarez {STDOFF '-7:05:56' not multiple of :15 min} // America/Costa_Rica {STDOFF '-5:36:13' not multiple of :15 min} -// America/Cuiaba {STDOFF '-3:44:20' not multiple of :15 min} -// America/Danmarkshavn {STDOFF '-1:14:40' not multiple of :15 min} +// America/Cuiaba { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:44:20' not multiple of :15 min, +// } +// America/Danmarkshavn { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-1:14:40' not multiple of :15 min, +// } // America/Dawson { // STDOFF '-9:17:40' not multiple of :15 min, // Yukon { @@ -1837,10 +1868,16 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // UNTIL '0:01' not multiple of :15 min, // } // America/Edmonton {STDOFF '-7:33:52' not multiple of :15 min} -// America/Eirunepe {STDOFF '-4:39:28' not multiple of :15 min} +// America/Eirunepe { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:39:28' not multiple of :15 min, +// } // America/El_Salvador {STDOFF '-5:56:48' not multiple of :15 min} // America/Fort_Nelson {STDOFF '-8:10:47' not multiple of :15 min} -// America/Fortaleza {STDOFF '-2:34:00' not multiple of :15 min} +// America/Fortaleza { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-2:34:00' not multiple of :15 min, +// } // America/Glace_Bay {STDOFF '-3:59:48' not multiple of :15 min} // America/Goose_Bay { // STDOFF '-3:30:52' not multiple of :15 min, @@ -1857,6 +1894,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // America/Guatemala {STDOFF '-6:02:04' not multiple of :15 min} // America/Guayaquil { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-5:14:00' not multiple of :15 min, // STDOFF '-5:19:20' not multiple of :15 min, // } @@ -1892,6 +1930,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // America/Kentucky/Monticello {STDOFF '-5:39:24' not multiple of :15 min} // America/La_Paz {STDOFF '-4:32:36' not multiple of :15 min} // America/Lima { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-5:08:12' not multiple of :15 min, // STDOFF '-5:08:36' not multiple of :15 min, // } @@ -1899,12 +1938,18 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '-7:52:58' not multiple of :15 min, // CA {AT '2:01' not multiple of :15 min} // } -// America/Maceio {STDOFF '-2:22:52' not multiple of :15 min} +// America/Maceio { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-2:22:52' not multiple of :15 min, +// } // America/Managua { // STDOFF '-5:45:08' not multiple of :15 min, // STDOFF '-5:45:12' not multiple of :15 min, // } -// America/Manaus {STDOFF '-4:00:04' not multiple of :15 min} +// America/Manaus { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:00:04' not multiple of :15 min, +// } // America/Martinique {STDOFF '-4:04:20' not multiple of :15 min} // America/Mazatlan {STDOFF '-7:05:40' not multiple of :15 min} // America/Menominee {STDOFF '-5:50:27' not multiple of :15 min} @@ -1916,13 +1961,17 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // UNTIL '15:44:55' not multiple of :15 min, // } // America/Mexico_City {STDOFF '-6:36:36' not multiple of :15 min} -// America/Miquelon {STDOFF '-3:44:40' not multiple of :15 min} +// America/Miquelon { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:44:40' not multiple of :15 min, +// } // America/Moncton { // STDOFF '-4:19:08' not multiple of :15 min, // Moncton {AT '0:01' not multiple of :15 min} // } // America/Monterrey {STDOFF '-6:41:16' not multiple of :15 min} // America/Montevideo { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-3:44:51' not multiple of :15 min, // Uruguay { // SAVE '0:30' different from 1:00, @@ -1936,11 +1985,17 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // UNTIL '13:29:35' not multiple of :01 min, // UNTIL '13:29:35' not multiple of :15 min, // } -// America/Noronha {STDOFF '-2:09:40' not multiple of :15 min} +// America/Noronha { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-2:09:40' not multiple of :15 min, +// } // America/North_Dakota/Beulah {STDOFF '-6:47:07' not multiple of :15 min} // America/North_Dakota/Center {STDOFF '-6:45:12' not multiple of :15 min} // America/North_Dakota/New_Salem {STDOFF '-6:45:39' not multiple of :15 min} -// America/Nuuk {STDOFF '-3:26:56' not multiple of :15 min} +// America/Nuuk { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:26:56' not multiple of :15 min, +// } // America/Ojinaga {STDOFF '-6:57:40' not multiple of :15 min} // America/Panama { // STDOFF '-5:18:08' not multiple of :15 min, @@ -1959,17 +2014,33 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '-4:49' not multiple of :15 min, // STDOFF '-4:49:20' not multiple of :15 min, // } -// America/Porto_Velho {STDOFF '-4:15:36' not multiple of :15 min} +// America/Porto_Velho { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:15:36' not multiple of :15 min, +// } // America/Puerto_Rico {STDOFF '-4:24:25' not multiple of :15 min} // America/Punta_Arenas { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-4:42:45' not multiple of :15 min, // STDOFF '-4:43:40' not multiple of :15 min, // } -// America/Recife {STDOFF '-2:19:36' not multiple of :15 min} +// America/Recife { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-2:19:36' not multiple of :15 min, +// } // America/Regina {STDOFF '-6:58:36' not multiple of :15 min} -// America/Rio_Branco {STDOFF '-4:31:12' not multiple of :15 min} -// America/Santarem {STDOFF '-3:38:48' not multiple of :15 min} -// America/Santiago {STDOFF '-4:42:45' not multiple of :15 min} +// America/Rio_Branco { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:31:12' not multiple of :15 min, +// } +// America/Santarem { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:38:48' not multiple of :15 min, +// } +// America/Santiago { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-4:42:45' not multiple of :15 min, +// } // America/Santo_Domingo { // STDOFF '-4:39:36' not multiple of :15 min, // STDOFF '-4:40' not multiple of :15 min, @@ -1980,8 +2051,14 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '0:30' different from 1:00, // } // } -// America/Sao_Paulo {STDOFF '-3:06:28' not multiple of :15 min} -// America/Scoresbysund {STDOFF '-1:27:52' not multiple of :15 min} +// America/Sao_Paulo { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:06:28' not multiple of :15 min, +// } +// America/Scoresbysund { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-1:27:52' not multiple of :15 min, +// } // America/Sitka { // STDOFF '-9:01:13' not multiple of :15 min, // STDOFF '14:58:47' not multiple of :15 min, @@ -2018,6 +2095,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // UNTIL '15:12:18' not multiple of :15 min, // } // Antarctica/Casey {UNTIL '0:01' not multiple of :15 min} +// Antarctica/Palmer {RULES not fixed but FORMAT is missing '%s' or '/'} // Antarctica/Troll { // Troll { // LETTER '+00' not single character, @@ -2025,9 +2103,13 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Almaty {STDOFF '5:07:48' not multiple of :15 min} +// Asia/Almaty { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '5:07:48' not multiple of :15 min, +// } // Asia/Amman {STDOFF '2:23:44' not multiple of :15 min} // Asia/Anadyr { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '11:49:56' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2039,17 +2121,34 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Aqtau {STDOFF '3:21:04' not multiple of :15 min} -// Asia/Aqtobe {STDOFF '3:48:40' not multiple of :15 min} -// Asia/Ashgabat {STDOFF '3:53:32' not multiple of :15 min} -// Asia/Atyrau {STDOFF '3:27:44' not multiple of :15 min} +// Asia/Aqtau { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:21:04' not multiple of :15 min, +// } +// Asia/Aqtobe { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:48:40' not multiple of :15 min, +// } +// Asia/Ashgabat { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:53:32' not multiple of :15 min, +// } +// Asia/Atyrau { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:27:44' not multiple of :15 min, +// } // Asia/Baghdad { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '2:57:36' not multiple of :15 min, // STDOFF '2:57:40' not multiple of :15 min, // } -// Asia/Baku {STDOFF '3:19:24' not multiple of :15 min} +// Asia/Baku { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:19:24' not multiple of :15 min, +// } // Asia/Bangkok {STDOFF '6:42:04' not multiple of :15 min} // Asia/Barnaul { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '5:35:00' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2062,8 +2161,12 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Beirut {STDOFF '2:22:00' not multiple of :15 min} -// Asia/Bishkek {STDOFF '4:58:24' not multiple of :15 min} +// Asia/Bishkek { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:58:24' not multiple of :15 min, +// } // Asia/Chita { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '7:33:52' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2075,7 +2178,6 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Choibalsan {STDOFF '7:38:00' not multiple of :15 min} // Asia/Colombo { // RULES '0:30' different from 1:00, // STDOFF '5:19:24' not multiple of :15 min, @@ -2083,12 +2185,16 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Asia/Damascus {STDOFF '2:25:12' not multiple of :15 min} // Asia/Dhaka { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '5:53:20' not multiple of :15 min, // STDOFF '6:01:40' not multiple of :15 min, // } // Asia/Dili {STDOFF '8:22:20' not multiple of :15 min} // Asia/Dubai {STDOFF '3:41:12' not multiple of :15 min} -// Asia/Dushanbe {STDOFF '4:35:12' not multiple of :15 min} +// Asia/Dushanbe { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:35:12' not multiple of :15 min, +// } // Asia/Famagusta {STDOFF '2:15:48' not multiple of :15 min} // Asia/Gaza { // STDOFF '2:17:52' not multiple of :15 min, @@ -2112,8 +2218,12 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // RULES '0:30' different from 1:00, // STDOFF '7:36:42' not multiple of :15 min, // } -// Asia/Hovd {STDOFF '6:06:36' not multiple of :15 min} +// Asia/Hovd { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '6:06:36' not multiple of :15 min, +// } // Asia/Irkutsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '6:57:05' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2141,6 +2251,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Asia/Kabul {STDOFF '4:36:48' not multiple of :15 min} // Asia/Kamchatka { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '10:34:36' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2158,6 +2269,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '5:45' not multiple of :30 min, // } // Asia/Khandyga { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '9:02:13' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2175,6 +2287,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '5:53:28' not multiple of :15 min, // } // Asia/Krasnoyarsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '6:11:26' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2187,11 +2300,16 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Kuching { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '7:21:20' not multiple of :15 min, // NBorneo {SAVE '0:20' different from 1:00} // } -// Asia/Macau {STDOFF '7:34:10' not multiple of :15 min} +// Asia/Macau { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '7:34:10' not multiple of :15 min, +// } // Asia/Magadan { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '10:03:12' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2210,6 +2328,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Asia/Nicosia {STDOFF '2:13:28' not multiple of :15 min} // Asia/Novokuznetsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '5:48:48' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2222,6 +2341,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Novosibirsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '5:31:40' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2234,6 +2354,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Omsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '4:53:30' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2245,14 +2366,24 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Oral {STDOFF '3:25:24' not multiple of :15 min} +// Asia/Oral { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:25:24' not multiple of :15 min, +// } // Asia/Pontianak {STDOFF '7:17:20' not multiple of :15 min} // Asia/Pyongyang {STDOFF '8:23:00' not multiple of :15 min} // Asia/Qatar {STDOFF '3:26:08' not multiple of :15 min} -// Asia/Qostanay {STDOFF '4:14:28' not multiple of :15 min} -// Asia/Qyzylorda {STDOFF '4:21:52' not multiple of :15 min} +// Asia/Qostanay { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:14:28' not multiple of :15 min, +// } +// Asia/Qyzylorda { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:21:52' not multiple of :15 min, +// } // Asia/Riyadh {STDOFF '3:06:52' not multiple of :15 min} // Asia/Sakhalin { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '9:30:48' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2264,7 +2395,10 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Samarkand {STDOFF '4:27:53' not multiple of :15 min} +// Asia/Samarkand { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:27:53' not multiple of :15 min, +// } // Asia/Seoul {STDOFF '8:27:52' not multiple of :15 min} // Asia/Shanghai {STDOFF '8:05:43' not multiple of :15 min} // Asia/Singapore { @@ -2273,6 +2407,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '7:20' not multiple of :15 min, // } // Asia/Srednekolymsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '10:14:52' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2285,12 +2420,22 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Taipei {STDOFF '8:06:00' not multiple of :15 min} -// Asia/Tashkent {STDOFF '4:37:11' not multiple of :15 min} -// Asia/Tbilisi {STDOFF '2:59:11' not multiple of :15 min} -// Asia/Tehran {STDOFF '3:25:44' not multiple of :15 min} +// Asia/Tashkent { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '4:37:11' not multiple of :15 min, +// } +// Asia/Tbilisi { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '2:59:11' not multiple of :15 min, +// } +// Asia/Tehran { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:25:44' not multiple of :15 min, +// } // Asia/Thimphu {STDOFF '5:58:36' not multiple of :15 min} // Asia/Tokyo {STDOFF '9:18:59' not multiple of :15 min} // Asia/Tomsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '5:39:51' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2302,9 +2447,13 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Ulaanbaatar {STDOFF '7:07:32' not multiple of :15 min} +// Asia/Ulaanbaatar { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '7:07:32' not multiple of :15 min, +// } // Asia/Urumqi {STDOFF '5:50:20' not multiple of :15 min} // Asia/Ust-Nera { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '9:32:54' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2317,6 +2466,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Vladivostok { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '8:47:31' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2329,6 +2479,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Asia/Yakutsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '8:38:58' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2342,6 +2493,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Asia/Yangon {STDOFF '6:24:47' not multiple of :15 min} // Asia/Yekaterinburg { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:45:05' not multiple of :15 min, // STDOFF '4:02:33' not multiple of :15 min, // Russia { @@ -2354,9 +2506,12 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } -// Asia/Yerevan {STDOFF '2:58:00' not multiple of :15 min} +// Asia/Yerevan { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '2:58:00' not multiple of :15 min, +// } // Atlantic/Azores { -// RULES not fixed but FORMAT is missing '%' or '/', +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-1:42:40' not multiple of :15 min, // STDOFF '-1:54:32' not multiple of :15 min, // Port {SAVE '2:00' different from 1:00} @@ -2366,23 +2521,28 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Atlantic/Cape_Verde {STDOFF '-1:34:04' not multiple of :15 min} // Atlantic/Faroe {STDOFF '-0:27:04' not multiple of :15 min} // Atlantic/Madeira { -// RULES not fixed but FORMAT is missing '%' or '/', +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-1:07:36' not multiple of :15 min, // Port {SAVE '2:00' different from 1:00} // } // Atlantic/South_Georgia {STDOFF '-2:26:08' not multiple of :15 min} -// Atlantic/Stanley {STDOFF '-3:51:24' not multiple of :15 min} +// Atlantic/Stanley { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-3:51:24' not multiple of :15 min, +// } // Australia/Adelaide {STDOFF '9:14:20' not multiple of :15 min} // Australia/Brisbane {STDOFF '10:12:08' not multiple of :15 min} // Australia/Broken_Hill {STDOFF '9:25:48' not multiple of :15 min} // Australia/Darwin {STDOFF '8:43:20' not multiple of :15 min} // Australia/Eucla { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '8:35:28' not multiple of :15 min, // STDOFF '8:45' not multiple of :30 min, // } // Australia/Hobart {STDOFF '9:49:16' not multiple of :15 min} // Australia/Lindeman {STDOFF '9:55:56' not multiple of :15 min} // Australia/Lord_Howe { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '10:36:20' not multiple of :15 min, // LH {SAVE '0:30' different from 1:00} // } @@ -2391,6 +2551,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Australia/Sydney {STDOFF '10:04:52' not multiple of :15 min} // Europe/Andorra {STDOFF '0:06:04' not multiple of :15 min} // Europe/Astrakhan { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:12:12' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2454,6 +2615,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Europe/Helsinki {STDOFF '1:39:49' not multiple of :15 min} // Europe/Istanbul { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '1:55:52' not multiple of :15 min, // STDOFF '1:56:56' not multiple of :15 min, // } @@ -2470,6 +2632,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Europe/Kirov { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:18:48' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2559,6 +2722,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Europe/Rome {STDOFF '0:49:56' not multiple of :15 min} // Europe/Samara { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:20:20' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2571,6 +2735,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Europe/Saratov { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:04:18' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2613,6 +2778,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Europe/Tirane {STDOFF '1:19:20' not multiple of :15 min} // Europe/Ulyanovsk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '3:13:36' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2640,6 +2806,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Europe/Volgograd { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '2:57:40' not multiple of :15 min, // Russia { // LETTER '+05' not single character, @@ -2658,8 +2825,12 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // Indian/Chagos {STDOFF '4:49:40' not multiple of :15 min} // Indian/Maldives {STDOFF '4:54:00' not multiple of :15 min} -// Indian/Mauritius {STDOFF '3:50:00' not multiple of :15 min} +// Indian/Mauritius { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '3:50:00' not multiple of :15 min, +// } // Pacific/Apia { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-11:26:56' not multiple of :15 min, // STDOFF '12:33:04' not multiple of :15 min, // } @@ -2672,15 +2843,28 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '9:48:32' not multiple of :15 min, // } // Pacific/Chatham { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '12:13:48' not multiple of :15 min, // STDOFF '12:15' not multiple of :30 min, // STDOFF '12:45' not multiple of :30 min, // } -// Pacific/Easter {STDOFF '-7:17:28' not multiple of :15 min} -// Pacific/Efate {STDOFF '11:13:16' not multiple of :15 min} +// Pacific/Easter { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-7:17:28' not multiple of :15 min, +// } +// Pacific/Efate { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '11:13:16' not multiple of :15 min, +// } // Pacific/Fakaofo {STDOFF '-11:24:56' not multiple of :15 min} -// Pacific/Fiji {STDOFF '11:55:44' not multiple of :15 min} -// Pacific/Galapagos {STDOFF '-5:58:24' not multiple of :15 min} +// Pacific/Fiji { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '11:55:44' not multiple of :15 min, +// } +// Pacific/Galapagos { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '-5:58:24' not multiple of :15 min, +// } // Pacific/Gambier {STDOFF '-8:59:48' not multiple of :15 min} // Pacific/Guadalcanal {STDOFF '10:39:48' not multiple of :15 min} // Pacific/Guam { @@ -2708,10 +2892,14 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '-11:20' not multiple of :15 min, // } // Pacific/Norfolk { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '11:11:52' not multiple of :15 min, // STDOFF '11:12' not multiple of :15 min, // } -// Pacific/Noumea {STDOFF '11:05:48' not multiple of :15 min} +// Pacific/Noumea { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '11:05:48' not multiple of :15 min, +// } // Pacific/Pago_Pago { // STDOFF '-11:22:48' not multiple of :15 min, // STDOFF '12:37:12' not multiple of :15 min, @@ -2726,6 +2914,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // STDOFF '9:48:40' not multiple of :15 min, // } // Pacific/Rarotonga { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '-10:39:04' not multiple of :15 min, // STDOFF '13:20:56' not multiple of :15 min, // Cook {SAVE '0:30' different from 1:00} @@ -2733,6 +2922,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Pacific/Tahiti {STDOFF '-9:58:16' not multiple of :15 min} // Pacific/Tarawa {STDOFF '11:32:04' not multiple of :15 min} // Pacific/Tongatapu { +// RULES not fixed but FORMAT is missing '%s' or '/', // STDOFF '12:19:12' not multiple of :15 min, // STDOFF '12:20' not multiple of :15 min, // } diff --git a/src/zonedbc/zone_policies.cpp b/src/zonedbc/zone_policies.cpp index f51d877ec..a14e0ce24 100644 --- a/src/zonedbc/zone_policies.cpp +++ b/src/zonedbc/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT @@ -82,7 +82,7 @@ namespace zonedbc { //--------------------------------------------------------------------------- // Policies: 134 -// Rules: 2234 +// Rules: 2231 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -14943,15 +14943,15 @@ static const complete::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Mexico 1931 only - May 1 23:00 1:00 D + // Rule Mexico 1931 only - April 30 0:00 1:00 D { 1931 /*fromYear*/, 1931 /*toYear*/, - 5 /*inMonth*/, + 4 /*inMonth*/, 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, + 30 /*onDayOfMonth*/, 0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, + 0 /*atTimeCode (0/15)*/, 60 /*deltaMinutes*/, 13 /*letterIndex ("D")*/, }, @@ -20909,7 +20909,7 @@ const complete::ZonePolicy kZonePolicyPoland ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Port -// Rules: 49 +// Rules: 46 //--------------------------------------------------------------------------- static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { @@ -20949,78 +20949,30 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1917 only - Feb 28 23:00s 1:00 S + // Rule Port 1917 1921 - Mar 1 0:00 1:00 S { 1917 /*fromYear*/, - 1917 /*toYear*/, - 2 /*inMonth*/, + 1921 /*toYear*/, + 3 /*inMonth*/, 0 /*onDayOfWeek*/, - 28 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, + 1 /*onDayOfMonth*/, + 0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/, + 0 /*atTimeCode (0/15)*/, 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1917 1921 - Oct 14 23:00s 0 - + // Rule Port 1917 1921 - Oct 14 24:00 0 - { 1917 /*fromYear*/, 1921 /*toYear*/, 10 /*inMonth*/, 0 /*onDayOfWeek*/, 14 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, + 0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/, + 5760 /*atTimeCode (86400/15)*/, 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1918 only - Mar 1 23:00s 1:00 S - { - 1918 /*fromYear*/, - 1918 /*toYear*/, - 3 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, - }, - // Rule Port 1919 only - Feb 28 23:00s 1:00 S - { - 1919 /*fromYear*/, - 1919 /*toYear*/, - 2 /*inMonth*/, - 0 /*onDayOfWeek*/, - 28 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, - }, - // Rule Port 1920 only - Feb 29 23:00s 1:00 S - { - 1920 /*fromYear*/, - 1920 /*toYear*/, - 2 /*inMonth*/, - 0 /*onDayOfWeek*/, - 29 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, - }, - // Rule Port 1921 only - Feb 28 23:00s 1:00 S - { - 1921 /*fromYear*/, - 1921 /*toYear*/, - 2 /*inMonth*/, - 0 /*onDayOfWeek*/, - 28 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 5520 /*atTimeCode (82800/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, - }, // Rule Port 1924 only - Apr 16 23:00s 1:00 S { 1924 /*fromYear*/, @@ -21033,13 +20985,13 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1924 only - Oct 14 23:00s 0 - + // Rule Port 1924 only - Oct 4 23:00s 0 - { 1924 /*fromYear*/, 1924 /*toYear*/, 10 /*inMonth*/, 0 /*onDayOfWeek*/, - 14 /*onDayOfMonth*/, + 4 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, 5520 /*atTimeCode (82800/15)*/, 0 /*deltaMinutes*/, @@ -21249,13 +21201,13 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1940 1941 - Oct 5 23:00s 0 - + // Rule Port 1940 only - Oct 7 23:00s 0 - { 1940 /*fromYear*/, - 1941 /*toYear*/, + 1940 /*toYear*/, 10 /*inMonth*/, 0 /*onDayOfWeek*/, - 5 /*onDayOfMonth*/, + 7 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, 5520 /*atTimeCode (82800/15)*/, 0 /*deltaMinutes*/, @@ -21273,6 +21225,18 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, + // Rule Port 1941 only - Oct 5 23:00s 0 - + { + 1941 /*fromYear*/, + 1941 /*toYear*/, + 10 /*inMonth*/, + 0 /*onDayOfWeek*/, + 5 /*onDayOfMonth*/, + 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, + 5520 /*atTimeCode (82800/15)*/, + 0 /*deltaMinutes*/, + 0 /*letterIndex ("")*/, + }, // Rule Port 1942 1945 - Mar Sat>=8 23:00s 1:00 S { 1942 /*fromYear*/, @@ -21381,10 +21345,10 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S + // Rule Port 1947 1966 - Apr Sun>=1 2:00s 1:00 S { 1947 /*fromYear*/, - 1965 /*toYear*/, + 1966 /*toYear*/, 4 /*inMonth*/, 7 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, @@ -21405,43 +21369,55 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1977 only - Mar 27 0:00s 1:00 S + // Rule Port 1976 only - Sep lastSun 1:00 0 - + { + 1976 /*fromYear*/, + 1976 /*toYear*/, + 9 /*inMonth*/, + 7 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, + 0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/, + 240 /*atTimeCode (3600/15)*/, + 0 /*deltaMinutes*/, + 0 /*letterIndex ("")*/, + }, + // Rule Port 1977 only - Mar lastSun 0:00s 1:00 S { 1977 /*fromYear*/, 1977 /*toYear*/, 3 /*inMonth*/, - 0 /*onDayOfWeek*/, - 27 /*onDayOfMonth*/, + 7 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, 0 /*atTimeCode (0/15)*/, 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1977 only - Sep 25 0:00s 0 - + // Rule Port 1977 only - Sep lastSun 0:00s 0 - { 1977 /*fromYear*/, 1977 /*toYear*/, 9 /*inMonth*/, - 0 /*onDayOfWeek*/, - 25 /*onDayOfMonth*/, + 7 /*onDayOfWeek*/, + 0 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, 0 /*atTimeCode (0/15)*/, 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S + // Rule Port 1978 1980 - Apr Sun>=1 1:00s 1:00 S { 1978 /*fromYear*/, - 1979 /*toYear*/, + 1980 /*toYear*/, 4 /*inMonth*/, 7 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 0 /*atTimeCode (0/15)*/, + 240 /*atTimeCode (3600/15)*/, 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1978 only - Oct 1 0:00s 0 - + // Rule Port 1978 only - Oct 1 1:00s 0 - { 1978 /*fromYear*/, 1978 /*toYear*/, @@ -21449,14 +21425,14 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 0 /*atTimeCode (0/15)*/, + 240 /*atTimeCode (3600/15)*/, 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1979 1982 - Sep lastSun 1:00s 0 - + // Rule Port 1979 1980 - Sep lastSun 1:00s 0 - { 1979 /*fromYear*/, - 1982 /*toYear*/, + 1980 /*toYear*/, 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -21465,10 +21441,10 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1980 only - Mar lastSun 0:00s 1:00 S + // Rule Port 1981 1986 - Mar lastSun 0:00s 1:00 S { - 1980 /*fromYear*/, - 1980 /*toYear*/, + 1981 /*fromYear*/, + 1986 /*toYear*/, 3 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -21477,36 +21453,24 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 25 /*letterIndex ("S")*/, }, - // Rule Port 1981 1982 - Mar lastSun 1:00s 1:00 S + // Rule Port 1981 1985 - Sep lastSun 0:00s 0 - { 1981 /*fromYear*/, - 1982 /*toYear*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, - }, - // Rule Port 1983 only - Mar lastSun 2:00s 1:00 S - { - 1983 /*fromYear*/, - 1983 /*toYear*/, - 3 /*inMonth*/, + 1985 /*toYear*/, + 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 480 /*atTimeCode (7200/15)*/, - 60 /*deltaMinutes*/, - 25 /*letterIndex ("S")*/, + 0 /*atTimeCode (0/15)*/, + 0 /*deltaMinutes*/, + 0 /*letterIndex ("")*/, }, }; const complete::ZonePolicy kZonePolicyPort ACE_TIME_PROGMEM = { kZoneRulesPort /*rules*/, - 49 /*numRules*/, + 46 /*numRules*/, }; //--------------------------------------------------------------------------- diff --git a/src/zonedbc/zone_policies.h b/src/zonedbc/zone_policies.h index c2f95171c..29d04952c 100644 --- a/src/zonedbc/zone_policies.h +++ b/src/zonedbc/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT diff --git a/src/zonedbc/zone_registry.cpp b/src/zonedbc/zone_registry.cpp index 14f0c8a2c..bf29beb59 100644 --- a/src/zonedbc/zone_registry.cpp +++ b/src/zonedbc/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT @@ -84,7 +84,7 @@ namespace zonedbc { //--------------------------------------------------------------------------- // Zone Info registry. Sorted by zoneId. //--------------------------------------------------------------------------- -const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { +const complete::ZoneInfo* const kZoneRegistry[339] ACE_TIME_PROGMEM = { &kZoneAmerica_St_Johns, // 0x04b14e6e, America/St_Johns &kZoneAmerica_North_Dakota_New_Salem, // 0x04f9958e, America/North_Dakota/New_Salem &kZoneAsia_Jakarta, // 0x0506ab50, Asia/Jakarta @@ -95,13 +95,6 @@ const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneAmerica_Indiana_Tell_City, // 0x09263612, America/Indiana/Tell_City &kZoneAmerica_Boa_Vista, // 0x0a7b7efe, America/Boa_Vista &kZoneAsia_Colombo, // 0x0af0e91d, Asia/Colombo - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST - &kZoneWET, // 0x0b882e35, WET &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera @@ -256,7 +249,6 @@ const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZonePacific_Pitcairn, // 0x8837d8bd, Pacific/Pitcairn &kZonePacific_Efate, // 0x8a2bce28, Pacific/Efate &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg &kZoneAustralia_Eucla, // 0x8cf99e44, Australia/Eucla @@ -268,7 +260,6 @@ const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZonePacific_Norfolk, // 0x8f4eb4be, Pacific/Norfolk &kZoneAsia_Yerevan, // 0x9185c8cc, Asia/Yerevan &kZoneAmerica_Detroit, // 0x925cfbc1, America/Detroit - &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan &kZoneAntarctica_Macquarie, // 0x92f47626, Antarctica/Macquarie &kZoneAmerica_Belize, // 0x93256c81, America/Belize &kZoneAmerica_Bogota, // 0x93d7bc62, America/Bogota @@ -387,7 +378,6 @@ const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT &kZoneEurope_Simferopol, // 0xda9eb724, Europe/Simferopol &kZoneAmerica_Matamoros, // 0xdd1b0259, America/Matamoros &kZonePacific_Kanton, // 0xdd512f0e, Pacific/Kanton @@ -413,10 +403,8 @@ const complete::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneAmerica_Argentina_Tucuman, // 0xe96399eb, America/Argentina/Tucuman &kZoneAsia_Magadan, // 0xebacc19b, Asia/Magadan &kZoneAmerica_Ojinaga, // 0xebfde83f, America/Ojinaga - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZoneAsia_Sakhalin, // 0xf4a1c9bd, Asia/Sakhalin &kZonePacific_Guadalcanal, // 0xf4dd25f0, Pacific/Guadalcanal @@ -468,19 +456,19 @@ const complete::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneUS_Hawaii, // 0x09c8de2f, US/Hawaii -> Pacific/Honolulu &kZoneAmerica_Boa_Vista, // 0x0a7b7efe, America/Boa_Vista &kZoneAsia_Colombo, // 0x0af0e91d, Asia/Colombo - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST + &kZoneCET, // 0x0b87d921, CET -> Europe/Brussels + &kZoneEET, // 0x0b87e1a3, EET -> Europe/Athens + &kZoneEST, // 0x0b87e371, EST -> America/Panama &kZoneGMT, // 0x0b87eb2d, GMT -> Etc/GMT - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST + &kZoneHST, // 0x0b87f034, HST -> Pacific/Honolulu + &kZoneMET, // 0x0b8803ab, MET -> Europe/Brussels + &kZoneMST, // 0x0b880579, MST -> America/Phoenix &kZonePRC, // 0x0b88120a, PRC -> Asia/Shanghai &kZoneROC, // 0x0b881a29, ROC -> Asia/Taipei &kZoneROK, // 0x0b881a31, ROK -> Asia/Seoul &kZoneUCT, // 0x0b882571, UCT -> Etc/UTC &kZoneUTC, // 0x0b882791, UTC -> Etc/UTC - &kZoneWET, // 0x0b882e35, WET + &kZoneWET, // 0x0b882e35, WET -> Europe/Lisbon &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneEurope_Mariehamn, // 0x0caa6496, Europe/Mariehamn -> Europe/Helsinki &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia @@ -756,7 +744,7 @@ const complete::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAustralia_LHI, // 0x8a973e17, Australia/LHI -> Australia/Lord_Howe &kZoneAustralia_NSW, // 0x8a974812, Australia/NSW -> Australia/Sydney &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT + &kZoneEST5EDT, // 0x8adc72a3, EST5EDT -> America/New_York &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZonePacific_Samoa, // 0x8b2699b4, Pacific/Samoa -> Pacific/Pago_Pago &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg @@ -778,7 +766,7 @@ const complete::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAfrica_Niamey, // 0x914a30fd, Africa/Niamey -> Africa/Lagos &kZoneAsia_Yerevan, // 0x9185c8cc, Asia/Yerevan &kZoneAmerica_Detroit, // 0x925cfbc1, America/Detroit - &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan + &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan -> Asia/Ulaanbaatar &kZoneAntarctica_Macquarie, // 0x92f47626, Antarctica/Macquarie &kZoneAmerica_Belize, // 0x93256c81, America/Belize &kZoneMexico_General, // 0x93711d57, Mexico/General -> America/Mexico_City @@ -961,7 +949,7 @@ const complete::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT + &kZonePST8PDT, // 0xd99ee2dc, PST8PDT -> America/Los_Angeles &kZoneEurope_Bratislava, // 0xda493bed, Europe/Bratislava -> Europe/Prague &kZoneEurope_Simferopol, // 0xda9eb724, Europe/Simferopol &kZonePacific_Funafuti, // 0xdb402d65, Pacific/Funafuti -> Pacific/Tarawa @@ -1004,10 +992,10 @@ const complete::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAsia_Magadan, // 0xebacc19b, Asia/Magadan &kZoneAmerica_Ojinaga, // 0xebfde83f, America/Ojinaga &kZonePacific_Saipan, // 0xeff7a35f, Pacific/Saipan -> Pacific/Guam - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT + &kZoneCST6CDT, // 0xf0e87d00, CST6CDT -> America/Chicago &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT + &kZoneMST7MDT, // 0xf2af9375, MST7MDT -> America/Denver &kZoneCanada_Eastern, // 0xf3612d5e, Canada/Eastern -> America/Toronto &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZoneAsia_Sakhalin, // 0xf4a1c9bd, Asia/Sakhalin diff --git a/src/zonedbc/zone_registry.h b/src/zonedbc/zone_registry.h index 896cc9a4c..24a913dab 100644 --- a/src/zonedbc/zone_registry.h +++ b/src/zonedbc/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbc -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [1800,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 1963 +// Eras: 1941 // Policies: 134 -// Rules: 2234 +// Rules: 2231 // // Memory (8-bits): // Context: 16 -// Rules: 26808 +// Rules: 26772 // Policies: 402 -// Eras: 29445 -// Zones: 4563 -// Links: 3185 +// Eras: 29115 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 1032 +// Formats: 486 // Letters: 160 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 72602 +// TOTAL: 71690 // // Memory (32-bits): // Context: 24 -// Rules: 26808 +// Rules: 26772 // Policies: 1072 -// Eras: 39260 -// Zones: 8424 -// Links: 5880 +// Eras: 38820 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 1032 +// Formats: 486 // Letters: 216 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 90927 +// TOTAL: 89905 // // DO NOT EDIT @@ -83,8 +83,8 @@ namespace ace_time { namespace zonedbc { // Zones -const uint16_t kZoneRegistrySize = 351; -extern const complete::ZoneInfo* const kZoneRegistry[351]; +const uint16_t kZoneRegistrySize = 339; +extern const complete::ZoneInfo* const kZoneRegistry[339]; // Zones and Links const uint16_t kZoneAndLinkRegistrySize = 596; diff --git a/src/zonedbctesting/Makefile b/src/zonedbctesting/Makefile index a2b3a6699..06ba19652 100644 --- a/src/zonedbctesting/Makefile +++ b/src/zonedbctesting/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 1980 UNTIL_YEAR := 2200 diff --git a/src/zonedbctesting/zone_infos.cpp b/src/zonedbctesting/zone_infos.cpp index a5574bbce..94ac6a485 100644 --- a/src/zonedbctesting/zone_infos.cpp +++ b/src/zonedbctesting/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT @@ -87,7 +87,7 @@ namespace zonedbctesting { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -137,10 +137,10 @@ const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { - // 0:00 Morocco +00/+01 1984 Mar 16 + // 0:00 Morocco %z 1984 Mar 16 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, @@ -150,10 +150,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:00 - +01 1986 + // 1:00 - %z 1986 { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -163,10 +163,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode (0/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, @@ -176,10 +176,10 @@ static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 240 /*offsetCode (3600/15)*/, 0 /*offsetRemainder (3600%15)*/, 0 /*deltaMinutes*/, @@ -255,10 +255,10 @@ const complete::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { - // -4:00 - -04 2007 Dec 9 3:00 + // -4:00 - %z 2007 Dec 9 3:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -268,10 +268,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 720 /*untilTimeCode (10800/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:30 - -0430 2016 May 1 2:30 + // -4:30 - %z 2016 May 1 2:30 { nullptr /*zonePolicy*/, - "-0430" /*format*/, + "" /*format*/, -1080 /*offsetCode (-16200/15)*/, 0 /*offsetRemainder (-16200%15)*/, 0 /*deltaMinutes*/, @@ -281,10 +281,10 @@ static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 600 /*untilTimeCode (9000/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -960 /*offsetCode (-14400/15)*/, 0 /*offsetRemainder (-14400%15)*/, 0 /*deltaMinutes*/, @@ -709,22 +709,22 @@ const complete::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { - // 0:00 Port WE%sT 1983 Sep 25 1:00s + // 0:00 Port WE%sT 1986 { &kZonePolicyPort /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, 0 /*deltaMinutes*/, - 1983 /*untilYear*/, - 9 /*untilMonth*/, - 25 /*untilDay*/, - 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 1986 /*untilYear*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode (0/15)*/, + 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 0:00 W-Eur WE%sT 1992 Sep 27 1:00s + // 0:00 EU WE%sT 1992 Sep 27 1:00u { - &kZonePolicyW_Eur /*zonePolicy*/, + &kZonePolicyEU /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode (0/15)*/, 0 /*offsetRemainder (0%15)*/, @@ -733,7 +733,7 @@ static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 9 /*untilMonth*/, 27 /*untilDay*/, 240 /*untilTimeCode (3600/15)*/, - 16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/, + 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/, }, // 1:00 EU CE%sT 1996 Mar 31 1:00u { @@ -781,10 +781,10 @@ const complete::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { - // -11:00 WS -11/-10 2011 Dec 29 24:00 + // -11:00 WS %z 2011 Dec 29 24:00 { &kZonePolicyWS /*zonePolicy*/, - "-11/-10" /*format*/, + "" /*format*/, -2640 /*offsetCode (-39600/15)*/, 0 /*offsetRemainder (-39600%15)*/, 0 /*deltaMinutes*/, @@ -794,10 +794,10 @@ static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 5760 /*untilTimeCode (86400/15)*/, 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/, }, - // 13:00 WS +13/+14 + // 13:00 WS %z { &kZonePolicyWS /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 3120 /*offsetCode (46800/15)*/, 0 /*offsetRemainder (46800%15)*/, 0 /*deltaMinutes*/, diff --git a/src/zonedbctesting/zone_infos.h b/src/zonedbctesting/zone_infos.h index 4f8f5e7f2..17d6485f5 100644 --- a/src/zonedbctesting/zone_infos.h +++ b/src/zonedbctesting/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT @@ -169,12 +169,12 @@ const uint8_t kZoneBufSizeAmerica_Vancouver = 6; // America/Vancouver in 2008 const uint8_t kZoneBufSizeAmerica_Whitehorse = 6; // America/Whitehorse in 2008 const uint8_t kZoneBufSizeAmerica_Winnipeg = 6; // America/Winnipeg in 2006 const uint8_t kZoneBufSizeAustralia_Darwin = 2; // Australia/Darwin in 1944 -const uint8_t kZoneBufSizeEurope_Lisbon = 6; // Europe/Lisbon in 1983 +const uint8_t kZoneBufSizeEurope_Lisbon = 6; // Europe/Lisbon in 1985 const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 //--------------------------------------------------------------------------- -// Unsupported zones: 336 +// Unsupported zones: 324 //--------------------------------------------------------------------------- // Africa/Abidjan {Zone missing from include list} @@ -326,7 +326,6 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Asia/Beirut {Zone missing from include list} // Asia/Bishkek {Zone missing from include list} // Asia/Chita {Zone missing from include list} -// Asia/Choibalsan {Zone missing from include list} // Asia/Colombo {Zone missing from include list} // Asia/Damascus {Zone missing from include list} // Asia/Dhaka {Zone missing from include list} @@ -405,11 +404,6 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Australia/Melbourne {Zone missing from include list} // Australia/Perth {Zone missing from include list} // Australia/Sydney {Zone missing from include list} -// CET {Zone missing from include list} -// CST6CDT {Zone missing from include list} -// EET {Zone missing from include list} -// EST {Zone missing from include list} -// EST5EDT {Zone missing from include list} // Etc/GMT {Zone missing from include list} // Etc/GMT+1 {Zone missing from include list} // Etc/GMT+10 {Zone missing from include list} @@ -475,14 +469,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Europe/Volgograd {Zone missing from include list} // Europe/Warsaw {Zone missing from include list} // Europe/Zurich {Zone missing from include list} -// HST {Zone missing from include list} // Indian/Chagos {Zone missing from include list} // Indian/Maldives {Zone missing from include list} // Indian/Mauritius {Zone missing from include list} -// MET {Zone missing from include list} -// MST {Zone missing from include list} -// MST7MDT {Zone missing from include list} -// PST8PDT {Zone missing from include list} // Pacific/Auckland {Zone missing from include list} // Pacific/Bougainville {Zone missing from include list} // Pacific/Chatham {Zone missing from include list} @@ -512,14 +501,14 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Pacific/Tahiti {Zone missing from include list} // Pacific/Tarawa {Zone missing from include list} // Pacific/Tongatapu {Zone missing from include list} -// WET {Zone missing from include list} //--------------------------------------------------------------------------- -// Notable zones: 2 +// Notable zones: 3 //--------------------------------------------------------------------------- // Africa/Casablanca { +// RULES not fixed but FORMAT is missing '%s' or '/', // Morocco {SAVE '-1:00' is a negative DST} // } // Africa/Windhoek { @@ -529,10 +518,11 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // SAVE '-1:00' is a negative DST, // } // } +// Pacific/Apia {RULES not fixed but FORMAT is missing '%s' or '/'} //--------------------------------------------------------------------------- -// Unsupported links: 244 +// Unsupported links: 256 //--------------------------------------------------------------------------- // Africa/Accra {Link missing from include list} @@ -628,6 +618,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Asia/Bahrain {Link missing from include list} // Asia/Brunei {Link missing from include list} // Asia/Calcutta {Link missing from include list} +// Asia/Choibalsan {Link missing from include list} // Asia/Chongqing {Link missing from include list} // Asia/Chungking {Link missing from include list} // Asia/Dacca {Link missing from include list} @@ -667,6 +658,8 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Brazil/DeNoronha {Link missing from include list} // Brazil/East {Link missing from include list} // Brazil/West {Link missing from include list} +// CET {Link missing from include list} +// CST6CDT {Link missing from include list} // Canada/Atlantic {Link missing from include list} // Canada/Central {Link missing from include list} // Canada/Eastern {Link missing from include list} @@ -678,6 +671,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Chile/Continental {Link missing from include list} // Chile/EasterIsland {Link missing from include list} // Cuba {Link missing from include list} +// EET {Link missing from include list} +// EST {Link missing from include list} +// EST5EDT {Link missing from include list} // Egypt {Link missing from include list} // Eire {Link missing from include list} // Etc/GMT+0 {Link missing from include list} @@ -720,6 +716,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // GMT-0 {Link missing from include list} // GMT0 {Link missing from include list} // Greenwich {Link missing from include list} +// HST {Link missing from include list} // Hongkong {Link missing from include list} // Iceland {Link missing from include list} // Indian/Antananarivo {Link missing from include list} @@ -736,6 +733,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Japan {Link missing from include list} // Kwajalein {Link missing from include list} // Libya {Link missing from include list} +// MET {Link missing from include list} +// MST {Link missing from include list} +// MST7MDT {Link missing from include list} // Mexico/BajaNorte {Link missing from include list} // Mexico/BajaSur {Link missing from include list} // Mexico/General {Link missing from include list} @@ -743,6 +743,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // NZ-CHAT {Link missing from include list} // Navajo {Link missing from include list} // PRC {Link missing from include list} +// PST8PDT {Link missing from include list} // Pacific/Chuuk {Link missing from include list} // Pacific/Enderbury {Link missing from include list} // Pacific/Funafuti {Link missing from include list} @@ -778,6 +779,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // UTC {Link missing from include list} // Universal {Link missing from include list} // W-SU {Link missing from include list} +// WET {Link missing from include list} // Zulu {Link missing from include list} diff --git a/src/zonedbctesting/zone_policies.cpp b/src/zonedbctesting/zone_policies.cpp index 9a847aece..9bd5f8aeb 100644 --- a/src/zonedbctesting/zone_policies.cpp +++ b/src/zonedbctesting/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT @@ -83,8 +83,8 @@ namespace ace_time { namespace zonedbctesting { //--------------------------------------------------------------------------- -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -2477,11 +2477,11 @@ const complete::ZonePolicy kZonePolicyNamibia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Port -// Rules: 7 +// Rules: 6 //--------------------------------------------------------------------------- static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { - // Anchor: Rule Port 1978 only - Oct 1 0:00s 0 - + // Anchor: Rule Port 1978 only - Oct 1 1:00s 0 - { -32767 /*fromYear*/, -32767 /*toYear*/, @@ -2493,19 +2493,19 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S + // Rule Port 1978 1980 - Apr Sun>=1 1:00s 1:00 S { 1978 /*fromYear*/, - 1979 /*toYear*/, + 1980 /*toYear*/, 4 /*inMonth*/, 7 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 0 /*atTimeCode (0/15)*/, + 240 /*atTimeCode (3600/15)*/, 60 /*deltaMinutes*/, 3 /*letterIndex ("S")*/, }, - // Rule Port 1978 only - Oct 1 0:00s 0 - + // Rule Port 1978 only - Oct 1 1:00s 0 - { 1978 /*fromYear*/, 1978 /*toYear*/, @@ -2513,14 +2513,14 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 0 /*atTimeCode (0/15)*/, + 240 /*atTimeCode (3600/15)*/, 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1979 1982 - Sep lastSun 1:00s 0 - + // Rule Port 1979 1980 - Sep lastSun 1:00s 0 - { 1979 /*fromYear*/, - 1982 /*toYear*/, + 1980 /*toYear*/, 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -2529,10 +2529,10 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 0 /*deltaMinutes*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1980 only - Mar lastSun 0:00s 1:00 S + // Rule Port 1981 1986 - Mar lastSun 0:00s 1:00 S { - 1980 /*fromYear*/, - 1980 /*toYear*/, + 1981 /*fromYear*/, + 1986 /*toYear*/, 3 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -2541,36 +2541,24 @@ static const complete::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 60 /*deltaMinutes*/, 3 /*letterIndex ("S")*/, }, - // Rule Port 1981 1982 - Mar lastSun 1:00s 1:00 S + // Rule Port 1981 1985 - Sep lastSun 0:00s 0 - { 1981 /*fromYear*/, - 1982 /*toYear*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 60 /*deltaMinutes*/, - 3 /*letterIndex ("S")*/, - }, - // Rule Port 1983 only - Mar lastSun 2:00s 1:00 S - { - 1983 /*fromYear*/, - 1983 /*toYear*/, - 3 /*inMonth*/, + 1985 /*toYear*/, + 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 480 /*atTimeCode (7200/15)*/, - 60 /*deltaMinutes*/, - 3 /*letterIndex ("S")*/, + 0 /*atTimeCode (0/15)*/, + 0 /*deltaMinutes*/, + 0 /*letterIndex ("")*/, }, }; const complete::ZonePolicy kZonePolicyPort ACE_TIME_PROGMEM = { kZoneRulesPort /*rules*/, - 7 /*numRules*/, + 6 /*numRules*/, }; //--------------------------------------------------------------------------- @@ -2733,92 +2721,6 @@ const complete::ZonePolicy kZonePolicyVanc ACE_TIME_PROGMEM = { 4 /*numRules*/, }; -//--------------------------------------------------------------------------- -// Policy name: W-Eur -// Rules: 6 -//--------------------------------------------------------------------------- - -static const complete::ZoneRule kZoneRulesW_Eur[] ACE_TIME_PROGMEM = { - // Anchor: Rule W-Eur 1978 only - Oct 1 1:00s 0 - - { - -32767 /*fromYear*/, - -32767 /*toYear*/, - 1 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 0 /*atTimeModifier (kAtcSuffixW + seconds=0)*/, - 0 /*atTimeCode (0/15)*/, - 0 /*deltaMinutes*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1977 1980 - Apr Sun>=1 1:00s 1:00 S - { - 1977 /*fromYear*/, - 1980 /*toYear*/, - 4 /*inMonth*/, - 7 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 60 /*deltaMinutes*/, - 3 /*letterIndex ("S")*/, - }, - // Rule W-Eur 1978 only - Oct 1 1:00s 0 - - { - 1978 /*fromYear*/, - 1978 /*toYear*/, - 10 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 0 /*deltaMinutes*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1979 1995 - Sep lastSun 1:00s 0 - - { - 1979 /*fromYear*/, - 1995 /*toYear*/, - 9 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 0 /*deltaMinutes*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1981 max - Mar lastSun 1:00s 1:00 S - { - 1981 /*fromYear*/, - 32766 /*toYear*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 60 /*deltaMinutes*/, - 3 /*letterIndex ("S")*/, - }, - // Rule W-Eur 1996 max - Oct lastSun 1:00s 0 - - { - 1996 /*fromYear*/, - 32766 /*toYear*/, - 10 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 16 /*atTimeModifier (kAtcSuffixS + seconds=0)*/, - 240 /*atTimeCode (3600/15)*/, - 0 /*deltaMinutes*/, - 0 /*letterIndex ("")*/, - }, - -}; - -const complete::ZonePolicy kZonePolicyW_Eur ACE_TIME_PROGMEM = { - kZoneRulesW_Eur /*rules*/, - 6 /*numRules*/, -}; - //--------------------------------------------------------------------------- // Policy name: WS // Rules: 6 diff --git a/src/zonedbctesting/zone_policies.h b/src/zonedbctesting/zone_policies.h index 9f27b58f8..b4d6a44be 100644 --- a/src/zonedbctesting/zone_policies.h +++ b/src/zonedbctesting/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT @@ -85,7 +85,7 @@ namespace ace_time { namespace zonedbctesting { //--------------------------------------------------------------------------- -// Supported policies: 12 +// Supported policies: 11 //--------------------------------------------------------------------------- extern const complete::ZonePolicy kZonePolicyAus; @@ -97,13 +97,12 @@ extern const complete::ZonePolicy kZonePolicyNamibia; extern const complete::ZonePolicy kZonePolicyPort; extern const complete::ZonePolicy kZonePolicyUS; extern const complete::ZonePolicy kZonePolicyVanc; -extern const complete::ZonePolicy kZonePolicyW_Eur; extern const complete::ZonePolicy kZonePolicyWS; extern const complete::ZonePolicy kZonePolicyWinn; //--------------------------------------------------------------------------- -// Unsupported policies: 122 +// Unsupported policies: 123 //--------------------------------------------------------------------------- // AN {unused} @@ -226,6 +225,7 @@ extern const complete::ZonePolicy kZonePolicyWinn; // Uruguay {unused} // Vanuatu {unused} // Vincennes {unused} +// W-Eur {unused} // Yukon {unused} // Zion {unused} diff --git a/src/zonedbctesting/zone_registry.cpp b/src/zonedbctesting/zone_registry.cpp index 1c122c73b..da13a149d 100644 --- a/src/zonedbctesting/zone_registry.cpp +++ b/src/zonedbctesting/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT diff --git a/src/zonedbctesting/zone_registry.h b/src/zonedbctesting/zone_registry.h index a11bce5d2..2bb9f7bb6 100644 --- a/src/zonedbctesting/zone_registry.h +++ b/src/zonedbctesting/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbctesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope complete @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2724 -// Policies: 36 +// Rules: 2640 +// Policies: 33 // Eras: 450 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3841 +// TOTAL: 3709 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 600 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4277 +// TOTAL: 4140 // // DO NOT EDIT diff --git a/src/zonedbtesting/Makefile b/src/zonedbtesting/Makefile index 53a51d19c..759ca7fda 100644 --- a/src/zonedbtesting/Makefile +++ b/src/zonedbtesting/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 1980 UNTIL_YEAR := 2200 diff --git a/src/zonedbtesting/zone_infos.cpp b/src/zonedbtesting/zone_infos.cpp index 78cded529..d8b07fee4 100644 --- a/src/zonedbtesting/zone_infos.cpp +++ b/src/zonedbtesting/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT @@ -87,7 +87,7 @@ namespace zonedbtesting { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -489,10 +489,10 @@ const basic::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const basic::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { - // -5:00 - -05 1986 + // -5:00 - %z 1986 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -114 /*untilYearTiny*/, @@ -501,10 +501,10 @@ static const basic::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -6:00 Ecuador -06/-05 + // -6:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, diff --git a/src/zonedbtesting/zone_infos.h b/src/zonedbtesting/zone_infos.h index d565c42af..f2178eb43 100644 --- a/src/zonedbtesting/zone_infos.h +++ b/src/zonedbtesting/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT @@ -162,7 +162,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 //--------------------------------------------------------------------------- -// Unsupported zones: 340 +// Unsupported zones: 328 //--------------------------------------------------------------------------- // Africa/Abidjan {Zone missing from include list} @@ -317,7 +317,6 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Asia/Beirut {Zone missing from include list} // Asia/Bishkek {Zone missing from include list} // Asia/Chita {Zone missing from include list} -// Asia/Choibalsan {Zone missing from include list} // Asia/Colombo {Zone missing from include list} // Asia/Damascus {Zone missing from include list} // Asia/Dhaka {Zone missing from include list} @@ -396,11 +395,6 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Australia/Melbourne {Zone missing from include list} // Australia/Perth {Zone missing from include list} // Australia/Sydney {Zone missing from include list} -// CET {Zone missing from include list} -// CST6CDT {Zone missing from include list} -// EET {Zone missing from include list} -// EST {Zone missing from include list} -// EST5EDT {Zone missing from include list} // Etc/GMT {Zone missing from include list} // Etc/GMT+1 {Zone missing from include list} // Etc/GMT+10 {Zone missing from include list} @@ -467,14 +461,9 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Europe/Volgograd {Zone missing from include list} // Europe/Warsaw {Zone missing from include list} // Europe/Zurich {Zone missing from include list} -// HST {Zone missing from include list} // Indian/Chagos {Zone missing from include list} // Indian/Maldives {Zone missing from include list} // Indian/Mauritius {Zone missing from include list} -// MET {Zone missing from include list} -// MST {Zone missing from include list} -// MST7MDT {Zone missing from include list} -// PST8PDT {Zone missing from include list} // Pacific/Apia {Zone missing from include list} // Pacific/Auckland {Zone missing from include list} // Pacific/Bougainville {Zone missing from include list} @@ -504,18 +493,18 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Pacific/Tahiti {Zone missing from include list} // Pacific/Tarawa {Zone missing from include list} // Pacific/Tongatapu {Zone missing from include list} -// WET {Zone missing from include list} //--------------------------------------------------------------------------- -// Notable zones: 1 +// Notable zones: 2 //--------------------------------------------------------------------------- -// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%' or '/'} +// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Galapagos {RULES not fixed but FORMAT is missing '%s' or '/'} //--------------------------------------------------------------------------- -// Unsupported links: 244 +// Unsupported links: 256 //--------------------------------------------------------------------------- // Africa/Accra {Link missing from include list} @@ -611,6 +600,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Asia/Bahrain {Link missing from include list} // Asia/Brunei {Link missing from include list} // Asia/Calcutta {Link missing from include list} +// Asia/Choibalsan {Link missing from include list} // Asia/Chongqing {Link missing from include list} // Asia/Chungking {Link missing from include list} // Asia/Dacca {Link missing from include list} @@ -650,6 +640,8 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Brazil/DeNoronha {Link missing from include list} // Brazil/East {Link missing from include list} // Brazil/West {Link missing from include list} +// CET {Link missing from include list} +// CST6CDT {Link missing from include list} // Canada/Atlantic {Link missing from include list} // Canada/Central {Link missing from include list} // Canada/Eastern {Link missing from include list} @@ -661,6 +653,9 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Chile/Continental {Link missing from include list} // Chile/EasterIsland {Link missing from include list} // Cuba {Link missing from include list} +// EET {Link missing from include list} +// EST {Link missing from include list} +// EST5EDT {Link missing from include list} // Egypt {Link missing from include list} // Eire {Link missing from include list} // Etc/GMT+0 {Link missing from include list} @@ -703,6 +698,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // GMT-0 {Link missing from include list} // GMT0 {Link missing from include list} // Greenwich {Link missing from include list} +// HST {Link missing from include list} // Hongkong {Link missing from include list} // Iceland {Link missing from include list} // Indian/Antananarivo {Link missing from include list} @@ -719,6 +715,9 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // Japan {Link missing from include list} // Kwajalein {Link missing from include list} // Libya {Link missing from include list} +// MET {Link missing from include list} +// MST {Link missing from include list} +// MST7MDT {Link missing from include list} // Mexico/BajaNorte {Link missing from include list} // Mexico/BajaSur {Link missing from include list} // Mexico/General {Link missing from include list} @@ -726,6 +725,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // NZ-CHAT {Link missing from include list} // Navajo {Link missing from include list} // PRC {Link missing from include list} +// PST8PDT {Link missing from include list} // Pacific/Chuuk {Link missing from include list} // Pacific/Enderbury {Link missing from include list} // Pacific/Funafuti {Link missing from include list} @@ -761,6 +761,7 @@ const uint8_t kZoneBufSizePacific_Galapagos = 3; // Pacific/Galapagos in 1985 // UTC {Link missing from include list} // Universal {Link missing from include list} // W-SU {Link missing from include list} +// WET {Link missing from include list} // Zulu {Link missing from include list} diff --git a/src/zonedbtesting/zone_policies.cpp b/src/zonedbtesting/zone_policies.cpp index 78f17da2a..d4d4647f0 100644 --- a/src/zonedbtesting/zone_policies.cpp +++ b/src/zonedbtesting/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT diff --git a/src/zonedbtesting/zone_policies.h b/src/zonedbtesting/zone_policies.h index c18c038cd..3f5b7e3b5 100644 --- a/src/zonedbtesting/zone_policies.h +++ b/src/zonedbtesting/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT diff --git a/src/zonedbtesting/zone_registry.cpp b/src/zonedbtesting/zone_registry.cpp index 994fdbf52..9a538185e 100644 --- a/src/zonedbtesting/zone_registry.cpp +++ b/src/zonedbtesting/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT diff --git a/src/zonedbtesting/zone_registry.h b/src/zonedbtesting/zone_registry.h index 27189a308..1d330e9f1 100644 --- a/src/zonedbtesting/zone_registry.h +++ b/src/zonedbtesting/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope basic @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 12 (11 zones, 1 links) -// Unsupported Zones: 584 (340 zones, 244 links) +// Unsupported Zones: 584 (328 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -54,11 +54,11 @@ // Zones: 143 // Links: 13 // Registry: 24 -// Formats: 38 +// Formats: 27 // Letters: 11 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 924 +// TOTAL: 913 // // Memory (32-bits): // Context: 24 @@ -68,11 +68,11 @@ // Zones: 264 // Links: 24 // Registry: 48 -// Formats: 38 +// Formats: 27 // Letters: 17 // Fragments: 0 // Names: 202 (original: 202) -// TOTAL: 1305 +// TOTAL: 1294 // // DO NOT EDIT diff --git a/src/zonedbx/Makefile b/src/zonedbx/Makefile index 8919f347d..f3689956e 100644 --- a/src/zonedbx/Makefile +++ b/src/zonedbx/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 2000 UNTIL_YEAR := 2200 diff --git a/src/zonedbx/zone_infos.cpp b/src/zonedbx/zone_infos.cpp index 8f7054535..2510042b1 100644 --- a/src/zonedbx/zone_infos.cpp +++ b/src/zonedbx/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -85,7 +85,7 @@ namespace zonedbx { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -161,8 +161,8 @@ const extended::ZoneContext kZoneContext ACE_TIME_PROGMEM = { }; //--------------------------------------------------------------------------- -// Zones: 351 -// Eras: 657 +// Zones: 339 +// Eras: 644 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -299,10 +299,10 @@ const extended::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -311,10 +311,10 @@ static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -375,10 +375,10 @@ const extended::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = { - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -387,10 +387,10 @@ static const extended::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -963,10 +963,10 @@ const extended::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { - // -3:00 Brazil -03/-02 2003 Sep 24 + // -3:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -97 /*untilYearTiny*/, @@ -975,10 +975,10 @@ static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2012 Oct 21 + // -3:00 - %z 2012 Oct 21 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -88 /*untilYearTiny*/, @@ -987,10 +987,10 @@ static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2013 Sep + // -3:00 Brazil %z 2013 Sep { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -87 /*untilYearTiny*/, @@ -999,10 +999,10 @@ static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1031,10 +1031,10 @@ const extended::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1043,10 +1043,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1055,10 +1055,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1087,10 +1087,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1099,10 +1099,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1111,10 +1111,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1123,10 +1123,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1135,10 +1135,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1147,10 +1147,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PR 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1179,10 +1179,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1191,10 +1191,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1203,10 +1203,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1235,10 +1235,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1247,10 +1247,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1259,10 +1259,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1271,10 +1271,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1303,10 +1303,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1315,10 +1315,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1327,10 +1327,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1339,10 +1339,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1351,10 +1351,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1363,10 +1363,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1395,10 +1395,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1407,10 +1407,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1419,10 +1419,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 May 23 + // -3:00 - %z 2004 May 23 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1431,10 +1431,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Sep 26 + // -4:00 - %z 2004 Sep 26 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1443,10 +1443,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1455,10 +1455,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1487,10 +1487,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1499,10 +1499,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1511,10 +1511,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1523,10 +1523,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1535,10 +1535,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1547,10 +1547,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1579,10 +1579,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1591,10 +1591,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1603,10 +1603,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1615,10 +1615,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGME 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1647,10 +1647,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1659,10 +1659,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1671,10 +1671,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 May 31 + // -3:00 - %z 2004 May 31 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1683,10 +1683,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jul 25 + // -4:00 - %z 2004 Jul 25 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1695,10 +1695,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1707,10 +1707,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1739,10 +1739,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = { - // -3:00 - -03 1999 Oct 3 + // -3:00 - %z 1999 Oct 3 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1751,10 +1751,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 1:00 -03 2000 Mar 3 + // -4:00 1:00 %z 2000 Mar 3 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 8 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=60)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1763,10 +1763,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 May 31 + // -3:00 - %z 2004 May 31 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1775,10 +1775,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jul 25 + // -4:00 - %z 2004 Jul 25 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1787,10 +1787,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Jan 21 + // -3:00 Arg %z 2008 Jan 21 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1799,10 +1799,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 SanLuis -04/-03 2009 Oct 11 + // -4:00 SanLuis %z 2009 Oct 11 { &kZonePolicySanLuis /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -1811,10 +1811,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PRO 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1843,10 +1843,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1855,10 +1855,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1867,10 +1867,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 Jun 1 + // -3:00 - %z 2004 Jun 1 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1879,10 +1879,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jun 13 + // -4:00 - %z 2004 Jun 13 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1891,10 +1891,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 + // -3:00 Arg %z { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -1923,10 +1923,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = { - // -3:00 Arg -03/-02 1999 Oct 3 + // -3:00 Arg %z 1999 Oct 3 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -1935,10 +1935,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Arg -04/-03 2000 Mar 3 + // -4:00 Arg %z 2000 Mar 3 { &kZonePolicyArg /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -1947,10 +1947,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2004 May 30 + // -3:00 - %z 2004 May 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1959,10 +1959,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Jun 20 + // -4:00 - %z 2004 Jun 20 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -1971,10 +1971,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Arg -03/-02 2008 Oct 18 + // -3:00 Arg %z 2008 Oct 18 { &kZonePolicyArg /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -1983,10 +1983,10 @@ static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROG 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2015,10 +2015,10 @@ const extended::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = { - // -4:00 Para -04/-03 + // -4:00 Para %z { &kZonePolicyPara /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2047,10 +2047,10 @@ const extended::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { - // -3:00 Brazil -03/-02 2003 Sep 24 + // -3:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -97 /*untilYearTiny*/, @@ -2059,10 +2059,10 @@ static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2011 Oct 16 + // -3:00 - %z 2011 Oct 16 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -2071,10 +2071,10 @@ static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2012 Oct 21 + // -3:00 Brazil %z 2012 Oct 21 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -88 /*untilYearTiny*/, @@ -2083,10 +2083,10 @@ static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2191,10 +2191,10 @@ const extended::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2255,10 +2255,10 @@ const extended::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { - // -4:00 - -04 1999 Sep 30 + // -4:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -2267,10 +2267,10 @@ static const extended::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Brazil -04/-03 2000 Oct 15 + // -4:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -2279,10 +2279,10 @@ static const extended::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2311,10 +2311,10 @@ const extended::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = { - // -5:00 CO -05/-04 + // -5:00 CO %z { &kZonePolicyCO /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2455,10 +2455,10 @@ const extended::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = { - // -4:00 Brazil -04/-03 + // -4:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2531,10 +2531,10 @@ const extended::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { - // -4:00 - -04 2007 Dec 9 3:00 + // -4:00 - %z 2007 Dec 9 3:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -93 /*untilYearTiny*/, @@ -2543,10 +2543,10 @@ static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:30 - -0430 2016 May 1 2:30 + // -4:30 - %z 2016 May 1 2:30 { nullptr /*zonePolicy*/, - "-0430" /*format*/, + "" /*format*/, -18 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -2555,10 +2555,10 @@ static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 10 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2587,10 +2587,10 @@ const extended::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -2795,10 +2795,10 @@ const extended::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { - // -4:00 Brazil -04/-03 2003 Sep 24 + // -4:00 Brazil %z 2003 Sep 24 { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -97 /*untilYearTiny*/, @@ -2807,10 +2807,10 @@ static const extended::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2004 Oct 1 + // -4:00 - %z 2004 Oct 1 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -2819,10 +2819,10 @@ static const extended::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 Brazil -04/-03 + // -4:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3055,10 +3055,10 @@ const extended::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { - // -5:00 - -05 2008 Jun 24 0:00 + // -5:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -3067,10 +3067,10 @@ static const extended::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2013 Nov 10 + // -4:00 - %z 2013 Nov 10 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -87 /*untilYearTiny*/, @@ -3079,10 +3079,10 @@ static const extended::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -5:00 - -05 + // -5:00 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3187,10 +3187,10 @@ const extended::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -3199,10 +3199,10 @@ static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 22 + // -3:00 Brazil %z 2000 Oct 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -3211,10 +3211,10 @@ static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -99 /*untilYearTiny*/, @@ -3223,10 +3223,10 @@ static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -98 /*untilYearTiny*/, @@ -3235,10 +3235,10 @@ static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3431,10 +3431,10 @@ const extended::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = { - // -5:00 Ecuador -05/-04 + // -5:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -3463,10 +3463,10 @@ const extended::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4219,10 +4219,10 @@ const extended::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4251,10 +4251,10 @@ const extended::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = { - // -5:00 Peru -05/-04 + // -5:00 Peru %z { &kZonePolicyPeru /*zonePolicy*/, - "-05/-04" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4315,10 +4315,10 @@ const extended::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -4327,10 +4327,10 @@ static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 22 + // -3:00 Brazil %z 2000 Oct 22 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -4339,10 +4339,10 @@ static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -99 /*untilYearTiny*/, @@ -4351,10 +4351,10 @@ static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -98 /*untilYearTiny*/, @@ -4363,10 +4363,10 @@ static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4427,10 +4427,10 @@ const extended::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4755,10 +4755,10 @@ const extended::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = { - // -3:00 Canada -03/-02 + // -3:00 Canada %z { &kZonePolicyCanada /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4863,10 +4863,10 @@ const extended::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = { - // -3:00 Uruguay -03/-02 + // -3:00 Uruguay %z { &kZonePolicyUruguay /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -4959,10 +4959,10 @@ const extended::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { - // -2:00 - -02 1999 Sep 30 + // -2:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -4971,10 +4971,10 @@ static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -2:00 Brazil -02/-01 2000 Oct 15 + // -2:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -4983,10 +4983,10 @@ static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -2:00 - -02 2001 Sep 13 + // -2:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -99 /*untilYearTiny*/, @@ -4995,10 +4995,10 @@ static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -2:00 Brazil -02/-01 2002 Oct 1 + // -2:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -98 /*untilYearTiny*/, @@ -5007,10 +5007,10 @@ static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -2:00 - -02 + // -2:00 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5159,10 +5159,10 @@ const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { - // -3:00 EU -03/-02 2023 Mar 26 1:00u + // -3:00 EU %z 2023 Mar 26 1:00u { &kZonePolicyEU /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -77 /*untilYearTiny*/, @@ -5171,10 +5171,10 @@ static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 4 /*untilTimeCode*/, 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // -2:00 - -02 2023 Oct 29 1:00u + // -2:00 - %z 2023 Oct 29 1:00u { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -77 /*untilYearTiny*/, @@ -5183,10 +5183,10 @@ static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = { 4 /*untilTimeCode*/, 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // -2:00 EU -02/-01 + // -2:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5315,10 +5315,10 @@ const extended::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5411,10 +5411,10 @@ const extended::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = { - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5475,10 +5475,10 @@ const extended::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = { - // -4:00 Chile -04/-03 2016 Dec 4 + // -4:00 Chile %z 2016 Dec 4 { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -5487,10 +5487,10 @@ static const extended::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5575,10 +5575,10 @@ const extended::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { - // -3:00 - -03 1999 Sep 30 + // -3:00 - %z 1999 Sep 30 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -5587,10 +5587,10 @@ static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2000 Oct 15 + // -3:00 Brazil %z 2000 Oct 15 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -5599,10 +5599,10 @@ static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 2001 Sep 13 + // -3:00 - %z 2001 Sep 13 { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -99 /*untilYearTiny*/, @@ -5611,10 +5611,10 @@ static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 Brazil -03/-02 2002 Oct 1 + // -3:00 Brazil %z 2002 Oct 1 { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -98 /*untilYearTiny*/, @@ -5623,10 +5623,10 @@ static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5767,10 +5767,10 @@ const extended::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { - // -5:00 - -05 2008 Jun 24 0:00 + // -5:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -5779,10 +5779,10 @@ static const extended::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 2013 Nov 10 + // -4:00 - %z 2013 Nov 10 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -87 /*untilYearTiny*/, @@ -5791,10 +5791,10 @@ static const extended::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -5:00 - -05 + // -5:00 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5823,10 +5823,10 @@ const extended::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = { - // -4:00 - -04 2008 Jun 24 0:00 + // -4:00 - %z 2008 Jun 24 0:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -92 /*untilYearTiny*/, @@ -5835,10 +5835,10 @@ static const extended::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5867,10 +5867,10 @@ const extended::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = { - // -4:00 Chile -04/-03 + // -4:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5955,10 +5955,10 @@ const extended::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = { - // -3:00 Brazil -03/-02 + // -3:00 Brazil %z { &kZonePolicyBrazil /*zonePolicy*/, - "-03/-02" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -5987,10 +5987,10 @@ const extended::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = { - // -1:00 EU -01/+00 2024 Mar 31 + // -1:00 EU %z 2024 Mar 31 { &kZonePolicyEU /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -76 /*untilYearTiny*/, @@ -5999,10 +5999,10 @@ static const extended::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -2:00 EU -02/-01 + // -2:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-02/-01" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6455,10 +6455,10 @@ const extended::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { - // 8:00 - +08 2009 Oct 18 2:00 + // 8:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -6467,10 +6467,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 2010 Mar 5 2:00 + // 11:00 - %z 2010 Mar 5 2:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -6479,10 +6479,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2011 Oct 28 2:00 + // 8:00 - %z 2011 Oct 28 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -6491,10 +6491,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 2012 Feb 21 17:00u + // 11:00 - %z 2012 Feb 21 17:00u { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -88 /*untilYearTiny*/, @@ -6503,10 +6503,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 68 /*untilTimeCode*/, 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // 8:00 - +08 2016 Oct 22 + // 8:00 - %z 2016 Oct 22 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -6515,10 +6515,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 2018 Mar 11 4:00 + // 11:00 - %z 2018 Mar 11 4:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -6527,10 +6527,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 16 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2018 Oct 7 4:00 + // 8:00 - %z 2018 Oct 7 4:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -6539,10 +6539,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 16 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 2019 Mar 17 3:00 + // 11:00 - %z 2019 Mar 17 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -81 /*untilYearTiny*/, @@ -6551,10 +6551,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2019 Oct 4 3:00 + // 8:00 - %z 2019 Oct 4 3:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -81 /*untilYearTiny*/, @@ -6563,10 +6563,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 2020 Mar 8 3:00 + // 11:00 - %z 2020 Mar 8 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -80 /*untilYearTiny*/, @@ -6575,10 +6575,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2020 Oct 4 0:01 + // 8:00 - %z 2020 Oct 4 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -80 /*untilYearTiny*/, @@ -6587,10 +6587,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 1 /*untilTimeModifier (kSuffixW + minute=1)*/, }, - // 11:00 - +11 2021 Mar 14 0:00 + // 11:00 - %z 2021 Mar 14 0:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -79 /*untilYearTiny*/, @@ -6599,10 +6599,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2021 Oct 3 0:01 + // 8:00 - %z 2021 Oct 3 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -79 /*untilYearTiny*/, @@ -6611,10 +6611,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 1 /*untilTimeModifier (kSuffixW + minute=1)*/, }, - // 11:00 - +11 2022 Mar 13 0:00 + // 11:00 - %z 2022 Mar 13 0:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -78 /*untilYearTiny*/, @@ -6623,10 +6623,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 2022 Oct 2 0:01 + // 8:00 - %z 2022 Oct 2 0:01 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -78 /*untilYearTiny*/, @@ -6635,10 +6635,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 1 /*untilTimeModifier (kSuffixW + minute=1)*/, }, - // 11:00 - +11 2023 Mar 9 3:00 + // 11:00 - %z 2023 Mar 9 3:00 { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -77 /*untilYearTiny*/, @@ -6647,10 +6647,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6679,10 +6679,10 @@ const extended::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { - // 7:00 - +07 2009 Oct 18 2:00 + // 7:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -6691,10 +6691,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 2010 Mar 10 20:00u + // 5:00 - %z 2010 Mar 10 20:00u { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -6703,10 +6703,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 80 /*untilTimeCode*/, 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // 7:00 - +07 2011 Oct 28 2:00 + // 7:00 - %z 2011 Oct 28 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -6715,10 +6715,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 2012 Feb 21 20:00u + // 5:00 - %z 2012 Feb 21 20:00u { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -88 /*untilYearTiny*/, @@ -6727,10 +6727,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = { 80 /*untilTimeCode*/, 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6815,10 +6815,10 @@ const extended::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = { - // 6:00 - +06 2009 Oct 18 2:00 + // 6:00 - %z 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -6827,10 +6827,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6859,10 +6859,10 @@ const extended::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { - // -4:00 Chile -04/-03 2016 Dec 4 + // -4:00 Chile %z 2016 Dec 4 { &kZonePolicyChile /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -6871,10 +6871,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6903,10 +6903,10 @@ const extended::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = { - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -6979,10 +6979,10 @@ const extended::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = { - // 7:00 - +07 2023 Dec 18 2:00 + // 7:00 - %z 2023 Dec 18 2:00 { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -77 /*untilYearTiny*/, @@ -6991,10 +6991,10 @@ static const extended::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7023,10 +7023,10 @@ const extended::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { - // 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s + // 6:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -7035,10 +7035,10 @@ static const extended::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2024 Mar 1 0:00 + // 6:00 - %z 2024 Mar 1 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -76 /*untilYearTiny*/, @@ -7047,10 +7047,10 @@ static const extended::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7091,10 +7091,10 @@ static const extended::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7123,10 +7123,10 @@ const extended::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { - // 12:00 Russia +12/+13 2010 Mar 28 2:00s + // 12:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -7135,10 +7135,10 @@ static const extended::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -7147,10 +7147,10 @@ static const extended::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7179,10 +7179,10 @@ const extended::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -7191,10 +7191,10 @@ static const extended::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7223,10 +7223,10 @@ const extended::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -7235,10 +7235,10 @@ static const extended::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7267,10 +7267,10 @@ const extended::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7299,10 +7299,10 @@ const extended::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { - // 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s + // 5:00 RussiaAsia %z 1999 Mar 28 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -7311,10 +7311,10 @@ static const extended::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -7323,10 +7323,10 @@ static const extended::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7355,10 +7355,10 @@ const extended::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = { - // 3:00 Iraq +03/+04 + // 3:00 Iraq %z { &kZonePolicyIraq /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7387,10 +7387,10 @@ const extended::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = { - // 4:00 Azer +04/+05 + // 4:00 Azer %z { &kZonePolicyAzer /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7419,10 +7419,10 @@ const extended::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = { - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7451,10 +7451,10 @@ const extended::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -7463,10 +7463,10 @@ static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -7475,10 +7475,10 @@ static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2016 Mar 27 2:00s + // 6:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -7487,10 +7487,10 @@ static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7551,10 +7551,10 @@ const extended::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { - // 5:00 Kyrgyz +05/+06 2005 Aug 12 + // 5:00 Kyrgyz %z 2005 Aug 12 { &kZonePolicyKyrgyz /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -95 /*untilYearTiny*/, @@ -7563,10 +7563,10 @@ static const extended::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7595,10 +7595,10 @@ const extended::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { - // 9:00 Russia +09/+10 2011 Mar 27 2:00s + // 9:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -7607,10 +7607,10 @@ static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -7619,10 +7619,10 @@ static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 8:00 - +08 2016 Mar 27 2:00 + // 8:00 - %z 2016 Mar 27 2:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -7631,10 +7631,10 @@ static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7657,60 +7657,16 @@ const extended::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: Asia/Choibalsan -// Eras: 2 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraAsia_Choibalsan[] ACE_TIME_PROGMEM = { - // 9:00 Mongol +09/+10 2008 Mar 31 - { - &kZonePolicyMongol /*zonePolicy*/, - "+09/+10" /*format*/, - 36 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - -92 /*untilYearTiny*/, - 3 /*untilMonth*/, - 31 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - // 8:00 Mongol +08/+09 - { - &kZonePolicyMongol /*zonePolicy*/, - "+08/+09" /*format*/, - 32 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan"; - -const extended::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = { - kZoneNameAsia_Choibalsan /*name*/, - 0x928aa4a6 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 2 /*numEras*/, - kZoneEraAsia_Choibalsan /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Asia/Colombo // Eras: 2 //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { - // 6:00 - +06 2006 Apr 15 0:30 + // 6:00 - %z 2006 Apr 15 0:30 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -94 /*untilYearTiny*/, @@ -7719,10 +7675,10 @@ static const extended::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = { 2 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:30 - +0530 + // 5:30 - %z { nullptr /*zonePolicy*/, - "+0530" /*format*/, + "" /*format*/, 22 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7763,10 +7719,10 @@ static const extended::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7795,10 +7751,10 @@ const extended::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { - // 6:00 - +06 2009 + // 6:00 - %z 2009 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -91 /*untilYearTiny*/, @@ -7807,10 +7763,10 @@ static const extended::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 6:00 Dhaka +06/+07 + // 6:00 Dhaka %z { &kZonePolicyDhaka /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7839,10 +7795,10 @@ const extended::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { - // 8:00 - +08 2000 Sep 17 0:00 + // 8:00 - %z 2000 Sep 17 0:00 { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -100 /*untilYearTiny*/, @@ -7851,10 +7807,10 @@ static const extended::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7883,10 +7839,10 @@ const extended::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = { - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7915,10 +7871,10 @@ const extended::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -7959,10 +7915,10 @@ static const extended::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 3:00 - +03 2017 Oct 29 1:00u + // 3:00 - %z 2017 Oct 29 1:00u { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -83 /*untilYearTiny*/, @@ -8163,10 +8119,10 @@ const extended::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = { - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8227,10 +8183,10 @@ const extended::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = { - // 7:00 Mongol +07/+08 + // 7:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8259,10 +8215,10 @@ const extended::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { - // 8:00 Russia +08/+09 2011 Mar 27 2:00s + // 8:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8271,10 +8227,10 @@ static const extended::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 9:00 - +09 2014 Oct 26 2:00s + // 9:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -8283,10 +8239,10 @@ static const extended::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8411,10 +8367,10 @@ const extended::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = { - // 4:30 - +0430 + // 4:30 - %z { nullptr /*zonePolicy*/, - "+0430" /*format*/, + "" /*format*/, 18 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8443,10 +8399,10 @@ const extended::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { - // 12:00 Russia +12/+13 2010 Mar 28 2:00s + // 12:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -8455,10 +8411,10 @@ static const extended::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8467,10 +8423,10 @@ static const extended::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8531,10 +8487,10 @@ const extended::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = { - // 5:45 - +0545 + // 5:45 - %z { nullptr /*zonePolicy*/, - "+0545" /*format*/, + "" /*format*/, 23 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8563,10 +8519,10 @@ const extended::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { - // 9:00 Russia +09/+10 2004 + // 9:00 Russia %z 2004 { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -8575,10 +8531,10 @@ static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8587,10 +8543,10 @@ static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 2011 Sep 13 0:00s + // 11:00 - %z 2011 Sep 13 0:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8599,10 +8555,10 @@ static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -8611,10 +8567,10 @@ static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8675,10 +8631,10 @@ const extended::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { - // 7:00 Russia +07/+08 2011 Mar 27 2:00s + // 7:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8687,10 +8643,10 @@ static const extended::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 8:00 - +08 2014 Oct 26 2:00s + // 8:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -8699,10 +8655,10 @@ static const extended::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8731,10 +8687,10 @@ const extended::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = { - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8795,10 +8751,10 @@ const extended::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8807,10 +8763,10 @@ static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 12:00 - +12 2014 Oct 26 2:00s + // 12:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -8819,10 +8775,10 @@ static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 2016 Apr 24 2:00s + // 10:00 - %z 2016 Apr 24 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -8831,10 +8787,10 @@ static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -8959,10 +8915,10 @@ const extended::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { - // 7:00 Russia +07/+08 2010 Mar 28 2:00s + // 7:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -8971,10 +8927,10 @@ static const extended::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -8983,10 +8939,10 @@ static const extended::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9015,10 +8971,10 @@ const extended::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -9027,10 +8983,10 @@ static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -9039,10 +8995,10 @@ static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2016 Jul 24 2:00s + // 6:00 - %z 2016 Jul 24 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -9051,10 +9007,10 @@ static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9083,10 +9039,10 @@ const extended::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -9095,10 +9051,10 @@ static const extended::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -9107,10 +9063,10 @@ static const extended::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9139,10 +9095,10 @@ const extended::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { - // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + // 4:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -9151,10 +9107,10 @@ static const extended::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9271,10 +9227,10 @@ const extended::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = { - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9303,10 +9259,10 @@ const extended::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -9315,10 +9271,10 @@ static const extended::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2024 Mar 1 0:00 + // 6:00 - %z 2024 Mar 1 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -76 /*untilYearTiny*/, @@ -9327,10 +9283,10 @@ static const extended::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9359,10 +9315,10 @@ const extended::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { - // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + // 5:00 RussiaAsia %z 2004 Oct 31 2:00s { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -9371,10 +9327,10 @@ static const extended::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2018 Dec 21 0:00 + // 6:00 - %z 2018 Dec 21 0:00 { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -9383,10 +9339,10 @@ static const extended::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9415,10 +9371,10 @@ const extended::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = { - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9447,10 +9403,10 @@ const extended::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -9459,10 +9415,10 @@ static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -9471,10 +9427,10 @@ static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 2016 Mar 27 2:00s + // 10:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -9483,10 +9439,10 @@ static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9515,10 +9471,10 @@ const extended::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9611,10 +9567,10 @@ const extended::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = { - // 8:00 - +08 + // 8:00 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9643,10 +9599,10 @@ const extended::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -9655,10 +9611,10 @@ static const extended::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 12:00 - +12 2014 Oct 26 2:00s + // 12:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -9667,10 +9623,10 @@ static const extended::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9731,10 +9687,10 @@ const extended::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9763,10 +9719,10 @@ const extended::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { - // 4:00 E-EurAsia +04/+05 2004 Jun 27 + // 4:00 E-EurAsia %z 2004 Jun 27 { &kZonePolicyE_EurAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -96 /*untilYearTiny*/, @@ -9775,10 +9731,10 @@ static const extended::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00 + // 3:00 RussiaAsia %z 2005 Mar lastSun 2:00 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -95 /*untilYearTiny*/, @@ -9787,10 +9743,10 @@ static const extended::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9819,10 +9775,10 @@ const extended::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = { - // 3:30 Iran +0330/+0430 + // 3:30 Iran %z { &kZonePolicyIran /*zonePolicy*/, - "+0330/+0430" /*format*/, + "" /*format*/, 14 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9851,10 +9807,10 @@ const extended::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9915,10 +9871,10 @@ const extended::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { - // 7:00 Russia +07/+08 2002 May 1 3:00 + // 7:00 Russia %z 2002 May 1 3:00 { &kZonePolicyRussia /*zonePolicy*/, - "+07/+08" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -98 /*untilYearTiny*/, @@ -9927,10 +9883,10 @@ static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 6:00 Russia +06/+07 2011 Mar 27 2:00s + // 6:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+06/+07" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -9939,10 +9895,10 @@ static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 2014 Oct 26 2:00s + // 7:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -9951,10 +9907,10 @@ static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2016 May 29 2:00s + // 6:00 - %z 2016 May 29 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -9963,10 +9919,10 @@ static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 7:00 - +07 + // 7:00 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -9995,10 +9951,10 @@ const extended::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = { - // 8:00 Mongol +08/+09 + // 8:00 Mongol %z { &kZonePolicyMongol /*zonePolicy*/, - "+08/+09" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10027,10 +9983,10 @@ const extended::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10059,10 +10015,10 @@ const extended::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { - // 11:00 Russia +11/+12 2011 Mar 27 2:00s + // 11:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10071,10 +10027,10 @@ static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 12:00 - +12 2011 Sep 13 0:00s + // 12:00 - %z 2011 Sep 13 0:00s { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10083,10 +10039,10 @@ static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -10095,10 +10051,10 @@ static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10127,10 +10083,10 @@ const extended::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { - // 10:00 Russia +10/+11 2011 Mar 27 2:00s + // 10:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+10/+11" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10139,10 +10095,10 @@ static const extended::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 2014 Oct 26 2:00s + // 11:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -10151,10 +10107,10 @@ static const extended::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10183,10 +10139,10 @@ const extended::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { - // 9:00 Russia +09/+10 2011 Mar 27 2:00s + // 9:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+09/+10" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10195,10 +10151,10 @@ static const extended::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 10:00 - +10 2014 Oct 26 2:00s + // 10:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -10207,10 +10163,10 @@ static const extended::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10239,10 +10195,10 @@ const extended::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = { - // 6:30 - +0630 + // 6:30 - %z { nullptr /*zonePolicy*/, - "+0630" /*format*/, + "" /*format*/, 26 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10271,10 +10227,10 @@ const extended::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { - // 5:00 Russia +05/+06 2011 Mar 27 2:00s + // 5:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+05/+06" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10283,10 +10239,10 @@ static const extended::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 6:00 - +06 2014 Oct 26 2:00s + // 6:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -10295,10 +10251,10 @@ static const extended::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10327,10 +10283,10 @@ const extended::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { - // 4:00 RussiaAsia +04/+05 2011 + // 4:00 RussiaAsia %z 2011 { &kZonePolicyRussiaAsia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -10339,10 +10295,10 @@ static const extended::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 4:00 Armenia +04/+05 + // 4:00 Armenia %z { &kZonePolicyArmenia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10371,10 +10327,10 @@ const extended::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = { - // -1:00 EU -01/+00 + // -1:00 EU %z { &kZonePolicyEU /*zonePolicy*/, - "-01/+00" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10467,10 +10423,10 @@ const extended::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = { - // -1:00 - -01 + // -1:00 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10563,10 +10519,10 @@ const extended::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = { - // -2:00 - -02 + // -2:00 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10595,10 +10551,10 @@ const extended::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { - // -4:00 Falk -04/-03 2010 Sep 5 2:00 + // -4:00 Falk %z 2010 Sep 5 2:00 { &kZonePolicyFalk /*zonePolicy*/, - "-04/-03" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -10607,10 +10563,10 @@ static const extended::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -3:00 - -03 + // -3:00 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10779,10 +10735,10 @@ const extended::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = { - // 8:45 AW +0845/+0945 + // 8:45 AW %z { &kZonePolicyAW /*zonePolicy*/, - "+0845/+0945" /*format*/, + "" /*format*/, 35 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10875,10 +10831,10 @@ const extended::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = { - // 10:30 LH +1030/+11 + // 10:30 LH %z { &kZonePolicyLH /*zonePolicy*/, - "+1030/+11" /*format*/, + "" /*format*/, 42 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -10997,166 +10953,6 @@ const extended::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: CET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur CE%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "CE%T" /*format*/, - 4 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; - -const extended::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { - kZoneNameCET /*name*/, - 0x0b87d921 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: CST6CDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = { - // -6:00 US C%sT - { - &kZonePolicyUS /*zonePolicy*/, - "C%T" /*format*/, - -24 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; - -const extended::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { - kZoneNameCST6CDT /*name*/, - 0xf0e87d00 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraCST6CDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = { - // 2:00 EU EE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "EE%T" /*format*/, - 8 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; - -const extended::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { - kZoneNameEET /*name*/, - 0x0b87e1a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = { - // -5:00 - EST - { - nullptr /*zonePolicy*/, - "EST" /*format*/, - -20 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; - -const extended::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { - kZoneNameEST /*name*/, - 0x0b87e371 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: EST5EDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = { - // -5:00 US E%sT - { - &kZonePolicyUS /*zonePolicy*/, - "E%T" /*format*/, - -20 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; - -const extended::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { - kZoneNameEST5EDT /*name*/, - 0x8adc72a3 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraEST5EDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Etc/GMT // Eras: 1 @@ -11195,10 +10991,10 @@ const extended::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = { - // -1 - -01 + // -1 - %z { nullptr /*zonePolicy*/, - "-01" /*format*/, + "" /*format*/, -4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11227,10 +11023,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = { - // -10 - -10 + // -10 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11259,10 +11055,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = { - // -11 - -11 + // -11 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11291,10 +11087,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = { - // -12 - -12 + // -12 - %z { nullptr /*zonePolicy*/, - "-12" /*format*/, + "" /*format*/, -48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11323,10 +11119,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = { - // -2 - -02 + // -2 - %z { nullptr /*zonePolicy*/, - "-02" /*format*/, + "" /*format*/, -8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11355,10 +11151,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = { - // -3 - -03 + // -3 - %z { nullptr /*zonePolicy*/, - "-03" /*format*/, + "" /*format*/, -12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11387,10 +11183,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = { - // -4 - -04 + // -4 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11419,10 +11215,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = { - // -5 - -05 + // -5 - %z { nullptr /*zonePolicy*/, - "-05" /*format*/, + "" /*format*/, -20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11451,10 +11247,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = { - // -6 - -06 + // -6 - %z { nullptr /*zonePolicy*/, - "-06" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11483,10 +11279,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = { - // -7 - -07 + // -7 - %z { nullptr /*zonePolicy*/, - "-07" /*format*/, + "" /*format*/, -28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11515,10 +11311,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = { - // -8 - -08 + // -8 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11547,10 +11343,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = { - // -9 - -09 + // -9 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11579,10 +11375,10 @@ const extended::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = { - // 1 - +01 + // 1 - %z { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11611,10 +11407,10 @@ const extended::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = { - // 10 - +10 + // 10 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11643,10 +11439,10 @@ const extended::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = { - // 11 - +11 + // 11 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11675,10 +11471,10 @@ const extended::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = { - // 12 - +12 + // 12 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11707,10 +11503,10 @@ const extended::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = { - // 13 - +13 + // 13 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11739,10 +11535,10 @@ const extended::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = { - // 14 - +14 + // 14 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 56 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11771,10 +11567,10 @@ const extended::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = { - // 2 - +02 + // 2 - %z { nullptr /*zonePolicy*/, - "+02" /*format*/, + "" /*format*/, 8 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11803,10 +11599,10 @@ const extended::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = { - // 3 - +03 + // 3 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11835,10 +11631,10 @@ const extended::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = { - // 4 - +04 + // 4 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11867,10 +11663,10 @@ const extended::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = { - // 5 - +05 + // 5 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11899,10 +11695,10 @@ const extended::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = { - // 6 - +06 + // 6 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11931,10 +11727,10 @@ const extended::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = { - // 7 - +07 + // 7 - %z { nullptr /*zonePolicy*/, - "+07" /*format*/, + "" /*format*/, 28 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11963,10 +11759,10 @@ const extended::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = { - // 8 - +08 + // 8 - %z { nullptr /*zonePolicy*/, - "+08" /*format*/, + "" /*format*/, 32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -11995,10 +11791,10 @@ const extended::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = { - // 9 - +09 + // 9 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -12091,10 +11887,10 @@ const extended::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -12103,10 +11899,10 @@ static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -12115,10 +11911,10 @@ static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 2016 Mar 27 2:00s + // 3:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -12127,10 +11923,10 @@ static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -12575,10 +12371,10 @@ static const extended::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -12619,10 +12415,10 @@ static const extended::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 2014 Oct 26 2:00s + // 3:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -12891,10 +12687,10 @@ static const extended::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 + // 3:00 - %z { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13131,10 +12927,10 @@ const extended::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { - // 4:00 Russia +04/+05 2010 Mar 28 2:00s + // 4:00 Russia %z 2010 Mar 28 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -90 /*untilYearTiny*/, @@ -13143,10 +12939,10 @@ static const extended::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -13155,10 +12951,10 @@ static const extended::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13187,10 +12983,10 @@ const extended::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -13199,10 +12995,10 @@ static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -13211,10 +13007,10 @@ static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 2016 Dec 4 2:00s + // 3:00 - %z 2016 Dec 4 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -13223,10 +13019,10 @@ static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13431,10 +13227,10 @@ const extended::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { - // 3:00 Russia +03/+04 2011 Mar 27 2:00s + // 3:00 Russia %z 2011 Mar 27 2:00s { &kZonePolicyRussia /*zonePolicy*/, - "+03/+04" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -13443,10 +13239,10 @@ static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2014 Oct 26 2:00s + // 4:00 - %z 2014 Oct 26 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -13455,10 +13251,10 @@ static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 3:00 - +03 2016 Mar 27 2:00s + // 3:00 - %z 2016 Mar 27 2:00s { nullptr /*zonePolicy*/, - "+03" /*format*/, + "" /*format*/, 12 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -13467,10 +13263,10 @@ static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 + // 4:00 - %z { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13623,10 +13419,10 @@ static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 4:00 - +04 2020 Dec 27 2:00s + // 4:00 - %z 2020 Dec 27 2:00s { nullptr /*zonePolicy*/, - "+04" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -80 /*untilYearTiny*/, @@ -13725,48 +13521,16 @@ const extended::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: HST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = { - // -10:00 - HST - { - nullptr /*zonePolicy*/, - "HST" /*format*/, - -40 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; - -const extended::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { - kZoneNameHST /*name*/, - 0x0b87f034 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraHST /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Indian/Chagos // Eras: 1 //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = { - // 6:00 - +06 + // 6:00 - %z { nullptr /*zonePolicy*/, - "+06" /*format*/, + "" /*format*/, 24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13795,10 +13559,10 @@ const extended::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = { - // 5:00 - +05 + // 5:00 - %z { nullptr /*zonePolicy*/, - "+05" /*format*/, + "" /*format*/, 20 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13827,10 +13591,10 @@ const extended::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = { - // 4:00 Mauritius +04/+05 + // 4:00 Mauritius %z { &kZonePolicyMauritius /*zonePolicy*/, - "+04/+05" /*format*/, + "" /*format*/, 16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -13853,144 +13617,16 @@ const extended::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: MET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = { - // 1:00 C-Eur ME%sT - { - &kZonePolicyC_Eur /*zonePolicy*/, - "ME%T" /*format*/, - 4 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; - -const extended::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { - kZoneNameMET /*name*/, - 0x0b8803ab /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMET /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = { - // -7:00 - MST - { - nullptr /*zonePolicy*/, - "MST" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; - -const extended::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { - kZoneNameMST /*name*/, - 0x0b880579 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: MST7MDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = { - // -7:00 US M%sT - { - &kZonePolicyUS /*zonePolicy*/, - "M%T" /*format*/, - -28 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; - -const extended::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { - kZoneNameMST7MDT /*name*/, - 0xf2af9375 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraMST7MDT /*eras*/, - nullptr /*targetInfo*/, -}; - -//--------------------------------------------------------------------------- -// Zone name: PST8PDT -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = { - // -8:00 US P%sT - { - &kZonePolicyUS /*zonePolicy*/, - "P%T" /*format*/, - -32 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; - -const extended::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { - kZoneNamePST8PDT /*name*/, - 0xd99ee2dc /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraPST8PDT /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- // Zone name: Pacific/Apia // Eras: 2 //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { - // -11:00 WS -11/-10 2011 Dec 29 24:00 + // -11:00 WS %z 2011 Dec 29 24:00 { &kZonePolicyWS /*zonePolicy*/, - "-11/-10" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -13999,10 +13635,10 @@ static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 96 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 13:00 WS +13/+14 + // 13:00 WS %z { &kZonePolicyWS /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14063,10 +13699,10 @@ const extended::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = { - // 10:00 - +10 2014 Dec 28 2:00 + // 10:00 - %z 2014 Dec 28 2:00 { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -86 /*untilYearTiny*/, @@ -14075,10 +13711,10 @@ static const extended::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = 8 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14107,10 +13743,10 @@ const extended::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = { - // 12:45 Chatham +1245/+1345 + // 12:45 Chatham %z { &kZonePolicyChatham /*zonePolicy*/, - "+1245/+1345" /*format*/, + "" /*format*/, 51 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14139,10 +13775,10 @@ const extended::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = { - // -6:00 Chile -06/-05 + // -6:00 Chile %z { &kZonePolicyChile /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14171,10 +13807,10 @@ const extended::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = { - // 11:00 Vanuatu +11/+12 + // 11:00 Vanuatu %z { &kZonePolicyVanuatu /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14203,10 +13839,10 @@ const extended::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = { - // -11:00 - -11 2011 Dec 30 + // -11:00 - %z 2011 Dec 30 { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -14215,10 +13851,10 @@ static const extended::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 13:00 - +13 + // 13:00 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14247,10 +13883,10 @@ const extended::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = { - // 12:00 Fiji +12/+13 + // 12:00 Fiji %z { &kZonePolicyFiji /*zonePolicy*/, - "+12/+13" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14279,10 +13915,10 @@ const extended::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = { - // -6:00 Ecuador -06/-05 + // -6:00 Ecuador %z { &kZonePolicyEcuador /*zonePolicy*/, - "-06/-05" /*format*/, + "" /*format*/, -24 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14311,10 +13947,10 @@ const extended::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = { - // -9:00 - -09 + // -9:00 - %z { nullptr /*zonePolicy*/, - "-09" /*format*/, + "" /*format*/, -36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14343,10 +13979,10 @@ const extended::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = { - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14451,10 +14087,10 @@ const extended::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = { - // 13:00 - +13 + // 13:00 - %z { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14483,10 +14119,10 @@ const extended::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = { - // 14:00 - +14 + // 14:00 - %z { nullptr /*zonePolicy*/, - "+14" /*format*/, + "" /*format*/, 56 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14515,10 +14151,10 @@ const extended::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { - // 12:00 - +12 1999 + // 12:00 - %z 1999 { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -14527,10 +14163,10 @@ static const extended::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 - +11 + // 11:00 - %z { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14559,10 +14195,10 @@ const extended::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14591,10 +14227,10 @@ const extended::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = { - // -9:30 - -0930 + // -9:30 - %z { nullptr /*zonePolicy*/, - "-0930" /*format*/, + "" /*format*/, -38 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14623,10 +14259,10 @@ const extended::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14655,10 +14291,10 @@ const extended::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = { - // -11:00 - -11 + // -11:00 - %z { nullptr /*zonePolicy*/, - "-11" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14687,10 +14323,10 @@ const extended::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { - // 11:30 - +1130 2015 Oct 4 02:00s + // 11:30 - %z 2015 Oct 4 02:00s { nullptr /*zonePolicy*/, - "+1130" /*format*/, + "" /*format*/, 46 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -85 /*untilYearTiny*/, @@ -14699,10 +14335,10 @@ static const extended::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, 16 /*untilTimeModifier (kSuffixS + minute=0)*/, }, - // 11:00 - +11 2019 Jul + // 11:00 - %z 2019 Jul { nullptr /*zonePolicy*/, - "+11" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -81 /*untilYearTiny*/, @@ -14711,10 +14347,10 @@ static const extended::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 11:00 AN +11/+12 + // 11:00 AN %z { &kZonePolicyAN /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14743,10 +14379,10 @@ const extended::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = { - // 11:00 NC +11/+12 + // 11:00 NC %z { &kZonePolicyNC /*zonePolicy*/, - "+11/+12" /*format*/, + "" /*format*/, 44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14807,10 +14443,10 @@ const extended::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = { - // 9:00 - +09 + // 9:00 - %z { nullptr /*zonePolicy*/, - "+09" /*format*/, + "" /*format*/, 36 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14839,10 +14475,10 @@ const extended::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = { - // -8:00 - -08 + // -8:00 - %z { nullptr /*zonePolicy*/, - "-08" /*format*/, + "" /*format*/, -32 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14871,10 +14507,10 @@ const extended::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = { - // 10:00 - +10 + // 10:00 - %z { nullptr /*zonePolicy*/, - "+10" /*format*/, + "" /*format*/, 40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14903,10 +14539,10 @@ const extended::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = { - // -10:00 Cook -10/-0930 + // -10:00 Cook %z { &kZonePolicyCook /*zonePolicy*/, - "-10/-0930" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14935,10 +14571,10 @@ const extended::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = { - // -10:00 - -10 + // -10:00 - %z { nullptr /*zonePolicy*/, - "-10" /*format*/, + "" /*format*/, -40 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14967,10 +14603,10 @@ const extended::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = { - // 12:00 - +12 + // 12:00 - %z { nullptr /*zonePolicy*/, - "+12" /*format*/, + "" /*format*/, 48 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -14999,10 +14635,10 @@ const extended::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { - // 13:00 - +13 1999 + // 13:00 - %z 1999 { nullptr /*zonePolicy*/, - "+13" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -101 /*untilYearTiny*/, @@ -15011,10 +14647,10 @@ static const extended::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 13:00 Tonga +13/+14 + // 13:00 Tonga %z { &kZonePolicyTonga /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -15037,42 +14673,10 @@ const extended::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = { nullptr /*targetInfo*/, }; -//--------------------------------------------------------------------------- -// Zone name: WET -// Eras: 1 -//--------------------------------------------------------------------------- - -static const extended::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = { - // 0:00 EU WE%sT - { - &kZonePolicyEU /*zonePolicy*/, - "WE%T" /*format*/, - 0 /*offsetCode*/, - 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - 127 /*untilYearTiny*/, - 1 /*untilMonth*/, - 1 /*untilDay*/, - 0 /*untilTimeCode*/, - 0 /*untilTimeModifier (kSuffixW + minute=0)*/, - }, - -}; - -static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; - -const extended::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { - kZoneNameWET /*name*/, - 0x0b882e35 /*zoneId*/, - &kZoneContext /*zoneContext*/, - 1 /*numEras*/, - kZoneEraWET /*eras*/, - nullptr /*targetInfo*/, -}; - //--------------------------------------------------------------------------- -// Links: 245 +// Links: 257 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -16470,6 +16074,21 @@ const extended::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = { &kZoneAsia_Kolkata /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: Asia/Choibalsan -> Asia/Ulaanbaatar +//--------------------------------------------------------------------------- + +static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan"; + +const extended::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = { + kZoneNameAsia_Choibalsan /*name*/, + 0x928aa4a6 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAsia_Ulaanbaatar /*eras*/, + &kZoneAsia_Ulaanbaatar /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Asia/Chongqing -> Asia/Shanghai //--------------------------------------------------------------------------- @@ -17055,6 +16674,36 @@ const extended::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = { &kZoneAmerica_Manaus /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: CET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET"; + +const extended::ZoneInfo kZoneCET ACE_TIME_PROGMEM = { + kZoneNameCET /*name*/, + 0x0b87d921 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: CST6CDT -> America/Chicago +//--------------------------------------------------------------------------- + +static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT"; + +const extended::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = { + kZoneNameCST6CDT /*name*/, + 0xf0e87d00 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Chicago /*eras*/, + &kZoneAmerica_Chicago /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Canada/Atlantic -> America/Halifax //--------------------------------------------------------------------------- @@ -17220,6 +16869,51 @@ const extended::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = { &kZoneAmerica_Havana /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: EET -> Europe/Athens +//--------------------------------------------------------------------------- + +static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET"; + +const extended::ZoneInfo kZoneEET ACE_TIME_PROGMEM = { + kZoneNameEET /*name*/, + 0x0b87e1a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Athens /*eras*/, + &kZoneEurope_Athens /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST -> America/Panama +//--------------------------------------------------------------------------- + +static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST"; + +const extended::ZoneInfo kZoneEST ACE_TIME_PROGMEM = { + kZoneNameEST /*name*/, + 0x0b87e371 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Panama /*eras*/, + &kZoneAmerica_Panama /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: EST5EDT -> America/New_York +//--------------------------------------------------------------------------- + +static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT"; + +const extended::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = { + kZoneNameEST5EDT /*name*/, + 0x8adc72a3 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_New_York /*eras*/, + &kZoneAmerica_New_York /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Egypt -> Africa/Cairo //--------------------------------------------------------------------------- @@ -17850,6 +17544,21 @@ const extended::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = { &kZoneEtc_GMT /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: HST -> Pacific/Honolulu +//--------------------------------------------------------------------------- + +static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST"; + +const extended::ZoneInfo kZoneHST ACE_TIME_PROGMEM = { + kZoneNameHST /*name*/, + 0x0b87f034 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraPacific_Honolulu /*eras*/, + &kZonePacific_Honolulu /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Hongkong -> Asia/Hong_Kong //--------------------------------------------------------------------------- @@ -18090,6 +17799,51 @@ const extended::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = { &kZoneAfrica_Tripoli /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: MET -> Europe/Brussels +//--------------------------------------------------------------------------- + +static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET"; + +const extended::ZoneInfo kZoneMET ACE_TIME_PROGMEM = { + kZoneNameMET /*name*/, + 0x0b8803ab /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Brussels /*eras*/, + &kZoneEurope_Brussels /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST -> America/Phoenix +//--------------------------------------------------------------------------- + +static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST"; + +const extended::ZoneInfo kZoneMST ACE_TIME_PROGMEM = { + kZoneNameMST /*name*/, + 0x0b880579 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Phoenix /*eras*/, + &kZoneAmerica_Phoenix /*targetInfo*/, +}; + +//--------------------------------------------------------------------------- +// Link name: MST7MDT -> America/Denver +//--------------------------------------------------------------------------- + +static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT"; + +const extended::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = { + kZoneNameMST7MDT /*name*/, + 0xf2af9375 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Denver /*eras*/, + &kZoneAmerica_Denver /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Mexico/BajaNorte -> America/Tijuana //--------------------------------------------------------------------------- @@ -18195,6 +17949,21 @@ const extended::ZoneInfo kZonePRC ACE_TIME_PROGMEM = { &kZoneAsia_Shanghai /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: PST8PDT -> America/Los_Angeles +//--------------------------------------------------------------------------- + +static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT"; + +const extended::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = { + kZoneNamePST8PDT /*name*/, + 0xd99ee2dc /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraAmerica_Los_Angeles /*eras*/, + &kZoneAmerica_Los_Angeles /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Pacific/Chuuk -> Pacific/Port_Moresby //--------------------------------------------------------------------------- @@ -18735,6 +18504,21 @@ const extended::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = { &kZoneEurope_Moscow /*targetInfo*/, }; +//--------------------------------------------------------------------------- +// Link name: WET -> Europe/Lisbon +//--------------------------------------------------------------------------- + +static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET"; + +const extended::ZoneInfo kZoneWET ACE_TIME_PROGMEM = { + kZoneNameWET /*name*/, + 0x0b882e35 /*zoneId*/, + &kZoneContext /*zoneContext*/, + 1 /*numEras*/, + kZoneEraEurope_Lisbon /*eras*/, + &kZoneEurope_Lisbon /*targetInfo*/, +}; + //--------------------------------------------------------------------------- // Link name: Zulu -> Etc/UTC //--------------------------------------------------------------------------- diff --git a/src/zonedbx/zone_infos.h b/src/zonedbx/zone_infos.h index 61ddff355..8ce9f2ee4 100644 --- a/src/zonedbx/zone_infos.h +++ b/src/zonedbx/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -95,7 +95,7 @@ extern const __FlashStringHelper* const kTzDatabaseVersion; extern const extended::ZoneContext kZoneContext; //--------------------------------------------------------------------------- -// Supported zones: 351 +// Supported zones: 339 //--------------------------------------------------------------------------- extern const extended::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan @@ -259,7 +259,6 @@ extern const extended::ZoneInfo kZoneAsia_Barnaul; // Asia/Barnaul extern const extended::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut extern const extended::ZoneInfo kZoneAsia_Bishkek; // Asia/Bishkek extern const extended::ZoneInfo kZoneAsia_Chita; // Asia/Chita -extern const extended::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan extern const extended::ZoneInfo kZoneAsia_Colombo; // Asia/Colombo extern const extended::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus extern const extended::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka @@ -339,11 +338,6 @@ extern const extended::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe extern const extended::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne extern const extended::ZoneInfo kZoneAustralia_Perth; // Australia/Perth extern const extended::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney -extern const extended::ZoneInfo kZoneCET; // CET -extern const extended::ZoneInfo kZoneCST6CDT; // CST6CDT -extern const extended::ZoneInfo kZoneEET; // EET -extern const extended::ZoneInfo kZoneEST; // EST -extern const extended::ZoneInfo kZoneEST5EDT; // EST5EDT extern const extended::ZoneInfo kZoneEtc_GMT; // Etc/GMT extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10 @@ -410,14 +404,9 @@ extern const extended::ZoneInfo kZoneEurope_Vilnius; // Europe/Vilnius extern const extended::ZoneInfo kZoneEurope_Volgograd; // Europe/Volgograd extern const extended::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw extern const extended::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich -extern const extended::ZoneInfo kZoneHST; // HST extern const extended::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos extern const extended::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives extern const extended::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius -extern const extended::ZoneInfo kZoneMET; // MET -extern const extended::ZoneInfo kZoneMST; // MST -extern const extended::ZoneInfo kZoneMST7MDT; // MST7MDT -extern const extended::ZoneInfo kZonePST8PDT; // PST8PDT extern const extended::ZoneInfo kZonePacific_Apia; // Pacific/Apia extern const extended::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland extern const extended::ZoneInfo kZonePacific_Bougainville; // Pacific/Bougainville @@ -448,7 +437,6 @@ extern const extended::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga extern const extended::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti extern const extended::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa extern const extended::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu -extern const extended::ZoneInfo kZoneWET; // WET // Zone Ids @@ -614,7 +602,6 @@ const uint32_t kZoneIdAsia_Barnaul = 0x9dba4997; // Asia/Barnaul const uint32_t kZoneIdAsia_Beirut = 0xa7f3d5fd; // Asia/Beirut const uint32_t kZoneIdAsia_Bishkek = 0xb0728553; // Asia/Bishkek const uint32_t kZoneIdAsia_Chita = 0x14ae863b; // Asia/Chita -const uint32_t kZoneIdAsia_Choibalsan = 0x928aa4a6; // Asia/Choibalsan const uint32_t kZoneIdAsia_Colombo = 0x0af0e91d; // Asia/Colombo const uint32_t kZoneIdAsia_Damascus = 0x20fbb063; // Asia/Damascus const uint32_t kZoneIdAsia_Dhaka = 0x14c07b8b; // Asia/Dhaka @@ -694,11 +681,6 @@ const uint32_t kZoneIdAustralia_Lord_Howe = 0xa748b67d; // Australia/Lord_Howe const uint32_t kZoneIdAustralia_Melbourne = 0x0fe559a3; // Australia/Melbourne const uint32_t kZoneIdAustralia_Perth = 0x8db8269d; // Australia/Perth const uint32_t kZoneIdAustralia_Sydney = 0x4d1e9776; // Australia/Sydney -const uint32_t kZoneIdCET = 0x0b87d921; // CET -const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT -const uint32_t kZoneIdEET = 0x0b87e1a3; // EET -const uint32_t kZoneIdEST = 0x0b87e371; // EST -const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEtc_GMT = 0xd8e2de58; // Etc/GMT const uint32_t kZoneIdEtc_GMT_PLUS_1 = 0x9d13da14; // Etc/GMT+1 const uint32_t kZoneIdEtc_GMT_PLUS_10 = 0x3f8f1cc4; // Etc/GMT+10 @@ -765,14 +747,9 @@ const uint32_t kZoneIdEurope_Vilnius = 0xdd63b8ce; // Europe/Vilnius const uint32_t kZoneIdEurope_Volgograd = 0x3ed0f389; // Europe/Volgograd const uint32_t kZoneIdEurope_Warsaw = 0x75185c19; // Europe/Warsaw const uint32_t kZoneIdEurope_Zurich = 0x7d8195b9; // Europe/Zurich -const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdIndian_Chagos = 0x456f7c3c; // Indian/Chagos const uint32_t kZoneIdIndian_Maldives = 0x9869681c; // Indian/Maldives const uint32_t kZoneIdIndian_Mauritius = 0x7b09c02a; // Indian/Mauritius -const uint32_t kZoneIdMET = 0x0b8803ab; // MET -const uint32_t kZoneIdMST = 0x0b880579; // MST -const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT -const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Apia = 0x23359b5e; // Pacific/Apia const uint32_t kZoneIdPacific_Auckland = 0x25062f86; // Pacific/Auckland const uint32_t kZoneIdPacific_Bougainville = 0x5e10f7a4; // Pacific/Bougainville @@ -803,11 +780,10 @@ const uint32_t kZoneIdPacific_Rarotonga = 0x9981a3b0; // Pacific/Rarotonga const uint32_t kZoneIdPacific_Tahiti = 0xf24c2446; // Pacific/Tahiti const uint32_t kZoneIdPacific_Tarawa = 0xf2517e63; // Pacific/Tarawa const uint32_t kZoneIdPacific_Tongatapu = 0x262ca836; // Pacific/Tongatapu -const uint32_t kZoneIdWET = 0x0b882e35; // WET //--------------------------------------------------------------------------- -// Supported links: 245 +// Supported links: 257 //--------------------------------------------------------------------------- extern const extended::ZoneInfo kZoneAfrica_Accra; // Africa/Accra -> Africa/Abidjan @@ -903,6 +879,7 @@ extern const extended::ZoneInfo kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/A extern const extended::ZoneInfo kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar extern const extended::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei -> Asia/Kuching extern const extended::ZoneInfo kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata +extern const extended::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan -> Asia/Ulaanbaatar extern const extended::ZoneInfo kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai extern const extended::ZoneInfo kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai extern const extended::ZoneInfo kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka @@ -942,6 +919,8 @@ extern const extended::ZoneInfo kZoneBrazil_Acre; // Brazil/Acre -> America/Rio_ extern const extended::ZoneInfo kZoneBrazil_DeNoronha; // Brazil/DeNoronha -> America/Noronha extern const extended::ZoneInfo kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo extern const extended::ZoneInfo kZoneBrazil_West; // Brazil/West -> America/Manaus +extern const extended::ZoneInfo kZoneCET; // CET -> Europe/Brussels +extern const extended::ZoneInfo kZoneCST6CDT; // CST6CDT -> America/Chicago extern const extended::ZoneInfo kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax extern const extended::ZoneInfo kZoneCanada_Central; // Canada/Central -> America/Winnipeg extern const extended::ZoneInfo kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto @@ -953,6 +932,9 @@ extern const extended::ZoneInfo kZoneCanada_Yukon; // Canada/Yukon -> America/Wh extern const extended::ZoneInfo kZoneChile_Continental; // Chile/Continental -> America/Santiago extern const extended::ZoneInfo kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter extern const extended::ZoneInfo kZoneCuba; // Cuba -> America/Havana +extern const extended::ZoneInfo kZoneEET; // EET -> Europe/Athens +extern const extended::ZoneInfo kZoneEST; // EST -> America/Panama +extern const extended::ZoneInfo kZoneEST5EDT; // EST5EDT -> America/New_York extern const extended::ZoneInfo kZoneEgypt; // Egypt -> Africa/Cairo extern const extended::ZoneInfo kZoneEire; // Eire -> Europe/Dublin extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT @@ -995,6 +977,7 @@ extern const extended::ZoneInfo kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT extern const extended::ZoneInfo kZoneGMT_0; // GMT-0 -> Etc/GMT extern const extended::ZoneInfo kZoneGMT0; // GMT0 -> Etc/GMT extern const extended::ZoneInfo kZoneGreenwich; // Greenwich -> Etc/GMT +extern const extended::ZoneInfo kZoneHST; // HST -> Pacific/Honolulu extern const extended::ZoneInfo kZoneHongkong; // Hongkong -> Asia/Hong_Kong extern const extended::ZoneInfo kZoneIceland; // Iceland -> Africa/Abidjan extern const extended::ZoneInfo kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi @@ -1011,6 +994,9 @@ extern const extended::ZoneInfo kZoneJamaica; // Jamaica -> America/Jamaica extern const extended::ZoneInfo kZoneJapan; // Japan -> Asia/Tokyo extern const extended::ZoneInfo kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein extern const extended::ZoneInfo kZoneLibya; // Libya -> Africa/Tripoli +extern const extended::ZoneInfo kZoneMET; // MET -> Europe/Brussels +extern const extended::ZoneInfo kZoneMST; // MST -> America/Phoenix +extern const extended::ZoneInfo kZoneMST7MDT; // MST7MDT -> America/Denver extern const extended::ZoneInfo kZoneMexico_BajaNorte; // Mexico/BajaNorte -> America/Tijuana extern const extended::ZoneInfo kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan extern const extended::ZoneInfo kZoneMexico_General; // Mexico/General -> America/Mexico_City @@ -1018,6 +1004,7 @@ extern const extended::ZoneInfo kZoneNZ; // NZ -> Pacific/Auckland extern const extended::ZoneInfo kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham extern const extended::ZoneInfo kZoneNavajo; // Navajo -> America/Denver extern const extended::ZoneInfo kZonePRC; // PRC -> Asia/Shanghai +extern const extended::ZoneInfo kZonePST8PDT; // PST8PDT -> America/Los_Angeles extern const extended::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk -> Pacific/Port_Moresby extern const extended::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury -> Pacific/Kanton extern const extended::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti -> Pacific/Tarawa @@ -1054,6 +1041,7 @@ extern const extended::ZoneInfo kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago extern const extended::ZoneInfo kZoneUTC; // UTC -> Etc/UTC extern const extended::ZoneInfo kZoneUniversal; // Universal -> Etc/UTC extern const extended::ZoneInfo kZoneW_SU; // W-SU -> Europe/Moscow +extern const extended::ZoneInfo kZoneWET; // WET -> Europe/Lisbon extern const extended::ZoneInfo kZoneZulu; // Zulu -> Etc/UTC @@ -1152,6 +1140,7 @@ const uint32_t kZoneIdAsia_Ashkhabad = 0x15454f09; // Asia/Ashkhabad const uint32_t kZoneIdAsia_Bahrain = 0x9d078487; // Asia/Bahrain const uint32_t kZoneIdAsia_Brunei = 0xa8e595f7; // Asia/Brunei const uint32_t kZoneIdAsia_Calcutta = 0x328a44c3; // Asia/Calcutta +const uint32_t kZoneIdAsia_Choibalsan = 0x928aa4a6; // Asia/Choibalsan const uint32_t kZoneIdAsia_Chongqing = 0xf937fb90; // Asia/Chongqing const uint32_t kZoneIdAsia_Chungking = 0xc7121dd0; // Asia/Chungking const uint32_t kZoneIdAsia_Dacca = 0x14bcac5e; // Asia/Dacca @@ -1191,6 +1180,8 @@ const uint32_t kZoneIdBrazil_Acre = 0x66934f93; // Brazil/Acre const uint32_t kZoneIdBrazil_DeNoronha = 0x9b4cb496; // Brazil/DeNoronha const uint32_t kZoneIdBrazil_East = 0x669578c5; // Brazil/East const uint32_t kZoneIdBrazil_West = 0x669f689b; // Brazil/West +const uint32_t kZoneIdCET = 0x0b87d921; // CET +const uint32_t kZoneIdCST6CDT = 0xf0e87d00; // CST6CDT const uint32_t kZoneIdCanada_Atlantic = 0x536b119c; // Canada/Atlantic const uint32_t kZoneIdCanada_Central = 0x626710f5; // Canada/Central const uint32_t kZoneIdCanada_Eastern = 0xf3612d5e; // Canada/Eastern @@ -1202,6 +1193,9 @@ const uint32_t kZoneIdCanada_Yukon = 0x78dd35c2; // Canada/Yukon const uint32_t kZoneIdChile_Continental = 0x7e2bdb18; // Chile/Continental const uint32_t kZoneIdChile_EasterIsland = 0xb0982af8; // Chile/EasterIsland const uint32_t kZoneIdCuba = 0x7c83cba0; // Cuba +const uint32_t kZoneIdEET = 0x0b87e1a3; // EET +const uint32_t kZoneIdEST = 0x0b87e371; // EST +const uint32_t kZoneIdEST5EDT = 0x8adc72a3; // EST5EDT const uint32_t kZoneIdEgypt = 0x0d1a278e; // Egypt const uint32_t kZoneIdEire = 0x7c84b36a; // Eire const uint32_t kZoneIdEtc_GMT_PLUS_0 = 0x9d13da13; // Etc/GMT+0 @@ -1244,6 +1238,7 @@ const uint32_t kZoneIdGMT_PLUS_0 = 0x0d2f7028; // GMT+0 const uint32_t kZoneIdGMT_0 = 0x0d2f706a; // GMT-0 const uint32_t kZoneIdGMT0 = 0x7c8550fd; // GMT0 const uint32_t kZoneIdGreenwich = 0xc84d4221; // Greenwich +const uint32_t kZoneIdHST = 0x0b87f034; // HST const uint32_t kZoneIdHongkong = 0x56d36560; // Hongkong const uint32_t kZoneIdIceland = 0xe56a35b5; // Iceland const uint32_t kZoneIdIndian_Antananarivo = 0x9ebf5289; // Indian/Antananarivo @@ -1260,6 +1255,9 @@ const uint32_t kZoneIdJamaica = 0x2e44fdab; // Jamaica const uint32_t kZoneIdJapan = 0x0d712f8f; // Japan const uint32_t kZoneIdKwajalein = 0x0e57afbb; // Kwajalein const uint32_t kZoneIdLibya = 0x0d998b16; // Libya +const uint32_t kZoneIdMET = 0x0b8803ab; // MET +const uint32_t kZoneIdMST = 0x0b880579; // MST +const uint32_t kZoneIdMST7MDT = 0xf2af9375; // MST7MDT const uint32_t kZoneIdMexico_BajaNorte = 0xfcf7150f; // Mexico/BajaNorte const uint32_t kZoneIdMexico_BajaSur = 0x08ee3641; // Mexico/BajaSur const uint32_t kZoneIdMexico_General = 0x93711d57; // Mexico/General @@ -1267,6 +1265,7 @@ const uint32_t kZoneIdNZ = 0x005974ad; // NZ const uint32_t kZoneIdNZ_CHAT = 0x4d42afda; // NZ-CHAT const uint32_t kZoneIdNavajo = 0xc4ef0e24; // Navajo const uint32_t kZoneIdPRC = 0x0b88120a; // PRC +const uint32_t kZoneIdPST8PDT = 0xd99ee2dc; // PST8PDT const uint32_t kZoneIdPacific_Chuuk = 0x8a090b23; // Pacific/Chuuk const uint32_t kZoneIdPacific_Enderbury = 0x61599a93; // Pacific/Enderbury const uint32_t kZoneIdPacific_Funafuti = 0xdb402d65; // Pacific/Funafuti @@ -1303,6 +1302,7 @@ const uint32_t kZoneIdUS_Samoa = 0x566821cd; // US/Samoa const uint32_t kZoneIdUTC = 0x0b882791; // UTC const uint32_t kZoneIdUniversal = 0xd0ff523e; // Universal const uint32_t kZoneIdW_SU = 0x7c8d8ef1; // W-SU +const uint32_t kZoneIdWET = 0x0b882e35; // WET const uint32_t kZoneIdZulu = 0x7c9069b5; // Zulu @@ -1475,7 +1475,6 @@ const uint8_t kZoneBufSizeAsia_Barnaul = 5; // Asia/Barnaul in 1987 const uint8_t kZoneBufSizeAsia_Beirut = 5; // Asia/Beirut in 1993 const uint8_t kZoneBufSizeAsia_Bishkek = 5; // Asia/Bishkek in 1997 const uint8_t kZoneBufSizeAsia_Chita = 5; // Asia/Chita in 1987 -const uint8_t kZoneBufSizeAsia_Choibalsan = 5; // Asia/Choibalsan in 2004 const uint8_t kZoneBufSizeAsia_Colombo = 2; // Asia/Colombo in 2006 const uint8_t kZoneBufSizeAsia_Damascus = 6; // Asia/Damascus in 2008 const uint8_t kZoneBufSizeAsia_Dhaka = 4; // Asia/Dhaka in 2009 @@ -1555,11 +1554,6 @@ const uint8_t kZoneBufSizeAustralia_Lord_Howe = 5; // Australia/Lord_Howe in 19 const uint8_t kZoneBufSizeAustralia_Melbourne = 5; // Australia/Melbourne in 1993 const uint8_t kZoneBufSizeAustralia_Perth = 6; // Australia/Perth in 2007 const uint8_t kZoneBufSizeAustralia_Sydney = 5; // Australia/Sydney in 1992 -const uint8_t kZoneBufSizeCET = 5; // CET in 1983 -const uint8_t kZoneBufSizeCST6CDT = 6; // CST6CDT in 2008 -const uint8_t kZoneBufSizeEET = 5; // EET in 1983 -const uint8_t kZoneBufSizeEST = 1; // EST in 1949 -const uint8_t kZoneBufSizeEST5EDT = 6; // EST5EDT in 2008 const uint8_t kZoneBufSizeEtc_GMT = 1; // Etc/GMT in 1949 const uint8_t kZoneBufSizeEtc_GMT_PLUS_1 = 1; // Etc/GMT+1 in 1949 const uint8_t kZoneBufSizeEtc_GMT_PLUS_10 = 1; // Etc/GMT+10 in 1949 @@ -1626,14 +1620,9 @@ const uint8_t kZoneBufSizeEurope_Vilnius = 6; // Europe/Vilnius in 2003 const uint8_t kZoneBufSizeEurope_Volgograd = 5; // Europe/Volgograd in 1987 const uint8_t kZoneBufSizeEurope_Warsaw = 5; // Europe/Warsaw in 1983 const uint8_t kZoneBufSizeEurope_Zurich = 5; // Europe/Zurich in 1983 -const uint8_t kZoneBufSizeHST = 1; // HST in 1949 const uint8_t kZoneBufSizeIndian_Chagos = 1; // Indian/Chagos in 1949 const uint8_t kZoneBufSizeIndian_Maldives = 1; // Indian/Maldives in 1949 const uint8_t kZoneBufSizeIndian_Mauritius = 3; // Indian/Mauritius in 2008 -const uint8_t kZoneBufSizeMET = 5; // MET in 1983 -const uint8_t kZoneBufSizeMST = 1; // MST in 1949 -const uint8_t kZoneBufSizeMST7MDT = 6; // MST7MDT in 2008 -const uint8_t kZoneBufSizePST8PDT = 6; // PST8PDT in 2008 const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 const uint8_t kZoneBufSizePacific_Auckland = 5; // Pacific/Auckland in 1992 const uint8_t kZoneBufSizePacific_Bougainville = 2; // Pacific/Bougainville in 2014 @@ -1664,7 +1653,6 @@ const uint8_t kZoneBufSizePacific_Rarotonga = 2; // Pacific/Rarotonga in 1949 const uint8_t kZoneBufSizePacific_Tahiti = 1; // Pacific/Tahiti in 1949 const uint8_t kZoneBufSizePacific_Tarawa = 1; // Pacific/Tarawa in 1949 const uint8_t kZoneBufSizePacific_Tongatapu = 5; // Pacific/Tongatapu in 1999 -const uint8_t kZoneBufSizeWET = 5; // WET in 1983 //--------------------------------------------------------------------------- @@ -1674,16 +1662,18 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 //--------------------------------------------------------------------------- -// Notable zones: 17 +// Notable zones: 100 //--------------------------------------------------------------------------- // Africa/Casablanca { +// RULES not fixed but FORMAT is missing '%s' or '/', // Morocco {SAVE '-1:00' is a negative DST} // } // Africa/El_Aaiun { +// RULES not fixed but FORMAT is missing '%s' or '/', // Morocco {SAVE '-1:00' is a negative DST} // } -// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%' or '/'} +// Africa/Johannesburg {RULES not fixed but FORMAT is missing '%s' or '/'} // Africa/Windhoek { // Namibia { // LETTER 'CAT' not single character, @@ -1691,9 +1681,29 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '-1:00' is a negative DST, // } // } +// America/Araguaina {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Buenos_Aires {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Catamarca {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Cordoba {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Jujuy {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/La_Rioja {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Mendoza {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Rio_Gallegos {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Salta {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/San_Juan {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/San_Luis {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Tucuman {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Argentina/Ushuaia {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Asuncion {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Bahia {RULES not fixed but FORMAT is missing '%s' or '/'} // America/Belize { // Belize {LETTER 'CST' not single character} // } +// America/Boa_Vista {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Bogota {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Campo_Grande {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Cuiaba {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Fortaleza {RULES not fixed but FORMAT is missing '%s' or '/'} // America/Goose_Bay { // StJohns { // AT '0:01' not multiple of :15 min, @@ -1701,9 +1711,21 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } +// America/Guayaquil {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Lima {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Maceio {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Miquelon {RULES not fixed but FORMAT is missing '%s' or '/'} // America/Moncton { // Moncton {AT '0:01' not multiple of :15 min} // } +// America/Montevideo {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Noronha {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Nuuk {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Punta_Arenas {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Recife {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Santiago {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Sao_Paulo {RULES not fixed but FORMAT is missing '%s' or '/'} +// America/Scoresbysund {RULES not fixed but FORMAT is missing '%s' or '/'} // America/St_Johns { // StJohns { // AT '0:01' not multiple of :15 min, @@ -1712,6 +1734,7 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // } // } // Antarctica/Casey {UNTIL '0:01' not multiple of :15 min} +// Antarctica/Palmer {RULES not fixed but FORMAT is missing '%s' or '/'} // Antarctica/Troll { // Troll { // LETTER '+00' not single character, @@ -1719,6 +1742,17 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // SAVE '2:00' different from 1:00, // } // } +// Asia/Almaty {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Anadyr {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Aqtau {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Aqtobe {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Atyrau {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Baghdad {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Baku {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Barnaul {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Bishkek {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Chita {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Dhaka {RULES not fixed but FORMAT is missing '%s' or '/'} // Asia/Gaza { // UNTIL '0:01' not multiple of :15 min, // Palestine {AT '0:01' not multiple of :15 min} @@ -1726,15 +1760,61 @@ const uint8_t kZoneBufSizeWET = 5; // WET in 1983 // Asia/Hebron { // Palestine {AT '0:01' not multiple of :15 min} // } +// Asia/Hovd {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Irkutsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Kamchatka {RULES not fixed but FORMAT is missing '%s' or '/'} // Asia/Kathmandu {STDOFF '5:45' not multiple of :30 min} -// Australia/Eucla {STDOFF '8:45' not multiple of :30 min} +// Asia/Khandyga {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Krasnoyarsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Magadan {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Novokuznetsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Novosibirsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Omsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Oral {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Qostanay {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Qyzylorda {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Sakhalin {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Srednekolymsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Tbilisi {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Tehran {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Tomsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Ulaanbaatar {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Ust-Nera {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Vladivostok {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Yakutsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Yekaterinburg {RULES not fixed but FORMAT is missing '%s' or '/'} +// Asia/Yerevan {RULES not fixed but FORMAT is missing '%s' or '/'} +// Atlantic/Azores {RULES not fixed but FORMAT is missing '%s' or '/'} +// Atlantic/Stanley {RULES not fixed but FORMAT is missing '%s' or '/'} +// Australia/Eucla { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '8:45' not multiple of :30 min, +// } // Australia/Lord_Howe { +// RULES not fixed but FORMAT is missing '%s' or '/', // LH {SAVE '0:30' different from 1:00} // } +// Europe/Astrakhan {RULES not fixed but FORMAT is missing '%s' or '/'} // Europe/Dublin { // Eire {SAVE '-1:00' is a negative DST} // } -// Pacific/Chatham {STDOFF '12:45' not multiple of :30 min} +// Europe/Samara {RULES not fixed but FORMAT is missing '%s' or '/'} +// Europe/Saratov {RULES not fixed but FORMAT is missing '%s' or '/'} +// Europe/Ulyanovsk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Indian/Mauritius {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Apia {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Chatham { +// RULES not fixed but FORMAT is missing '%s' or '/', +// STDOFF '12:45' not multiple of :30 min, +// } +// Pacific/Easter {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Efate {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Fiji {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Galapagos {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Norfolk {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Noumea {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Rarotonga {RULES not fixed but FORMAT is missing '%s' or '/'} +// Pacific/Tongatapu {RULES not fixed but FORMAT is missing '%s' or '/'} //--------------------------------------------------------------------------- diff --git a/src/zonedbx/zone_policies.cpp b/src/zonedbx/zone_policies.cpp index c57b4fc58..7130f465d 100644 --- a/src/zonedbx/zone_policies.cpp +++ b/src/zonedbx/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -81,8 +81,8 @@ namespace ace_time { namespace zonedbx { //--------------------------------------------------------------------------- -// Policies: 83 -// Rules: 735 +// Policies: 82 +// Rules: 731 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -1227,68 +1227,6 @@ const extended::ZonePolicy kZonePolicyBrazil ACE_TIME_PROGMEM = { 21 /*numRules*/, }; -//--------------------------------------------------------------------------- -// Policy name: C-Eur -// Rules: 4 -//--------------------------------------------------------------------------- - -static const extended::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = { - // Anchor: Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 - - { - -127 /*fromYearTiny (-32767)*/, - -127 /*toYearTiny (-32767)*/, - 1 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 0 /*atTimeCode*/, - 0 /*atTimeModifier (kSuffixW + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 - - { - -121 /*fromYearTiny (1979)*/, - -105 /*toYearTiny (1995)*/, - 9 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S - { - -119 /*fromYearTiny (1981)*/, - 126 /*toYearTiny (32766)*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 7 /*letterIndex ("S")*/, - }, - // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 - - { - -104 /*fromYearTiny (1996)*/, - 126 /*toYearTiny (32766)*/, - 10 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - -}; - -const extended::ZonePolicy kZonePolicyC_Eur ACE_TIME_PROGMEM = { - kZoneRulesC_Eur /*rules*/, - 4 /*numRules*/, -}; - //--------------------------------------------------------------------------- // Policy name: CO // Rules: 1 diff --git a/src/zonedbx/zone_policies.h b/src/zonedbx/zone_policies.h index 2884405fe..b38ea864d 100644 --- a/src/zonedbx/zone_policies.h +++ b/src/zonedbx/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -83,7 +83,7 @@ namespace ace_time { namespace zonedbx { //--------------------------------------------------------------------------- -// Supported policies: 83 +// Supported policies: 82 //--------------------------------------------------------------------------- extern const extended::ZonePolicy kZonePolicyAN; @@ -99,7 +99,6 @@ extern const extended::ZonePolicy kZonePolicyAzer; extern const extended::ZonePolicy kZonePolicyBarb; extern const extended::ZonePolicy kZonePolicyBelize; extern const extended::ZonePolicy kZonePolicyBrazil; -extern const extended::ZonePolicy kZonePolicyC_Eur; extern const extended::ZonePolicy kZonePolicyCO; extern const extended::ZonePolicy kZonePolicyCR; extern const extended::ZonePolicy kZonePolicyCanada; @@ -172,7 +171,7 @@ extern const extended::ZonePolicy kZonePolicyZion; //--------------------------------------------------------------------------- -// Unsupported policies: 51 +// Unsupported policies: 52 //--------------------------------------------------------------------------- // Albania {unused} @@ -181,6 +180,7 @@ extern const extended::ZonePolicy kZonePolicyZion; // Belgium {unused} // Bermuda {unused} // Bulg {unused} +// C-Eur {unused} // CA {unused} // Chicago {unused} // Cyprus {unused} diff --git a/src/zonedbx/zone_registry.cpp b/src/zonedbx/zone_registry.cpp index 073ffccba..61cc49058 100644 --- a/src/zonedbx/zone_registry.cpp +++ b/src/zonedbx/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -84,7 +84,7 @@ namespace zonedbx { //--------------------------------------------------------------------------- // Zone Info registry. Sorted by zoneId. //--------------------------------------------------------------------------- -const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { +const extended::ZoneInfo* const kZoneRegistry[339] ACE_TIME_PROGMEM = { &kZoneAmerica_St_Johns, // 0x04b14e6e, America/St_Johns &kZoneAmerica_North_Dakota_New_Salem, // 0x04f9958e, America/North_Dakota/New_Salem &kZoneAsia_Jakarta, // 0x0506ab50, Asia/Jakarta @@ -95,13 +95,6 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneAmerica_Indiana_Tell_City, // 0x09263612, America/Indiana/Tell_City &kZoneAmerica_Boa_Vista, // 0x0a7b7efe, America/Boa_Vista &kZoneAsia_Colombo, // 0x0af0e91d, Asia/Colombo - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST - &kZoneWET, // 0x0b882e35, WET &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia &kZoneAntarctica_Rothera, // 0x0e86d203, Antarctica/Rothera @@ -256,7 +249,6 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZonePacific_Pitcairn, // 0x8837d8bd, Pacific/Pitcairn &kZonePacific_Efate, // 0x8a2bce28, Pacific/Efate &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg &kZoneAustralia_Eucla, // 0x8cf99e44, Australia/Eucla @@ -268,7 +260,6 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZonePacific_Norfolk, // 0x8f4eb4be, Pacific/Norfolk &kZoneAsia_Yerevan, // 0x9185c8cc, Asia/Yerevan &kZoneAmerica_Detroit, // 0x925cfbc1, America/Detroit - &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan &kZoneAntarctica_Macquarie, // 0x92f47626, Antarctica/Macquarie &kZoneAmerica_Belize, // 0x93256c81, America/Belize &kZoneAmerica_Bogota, // 0x93d7bc62, America/Bogota @@ -387,7 +378,6 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT &kZoneEurope_Simferopol, // 0xda9eb724, Europe/Simferopol &kZoneAmerica_Matamoros, // 0xdd1b0259, America/Matamoros &kZonePacific_Kanton, // 0xdd512f0e, Pacific/Kanton @@ -413,10 +403,8 @@ const extended::ZoneInfo* const kZoneRegistry[351] ACE_TIME_PROGMEM = { &kZoneAmerica_Argentina_Tucuman, // 0xe96399eb, America/Argentina/Tucuman &kZoneAsia_Magadan, // 0xebacc19b, Asia/Magadan &kZoneAmerica_Ojinaga, // 0xebfde83f, America/Ojinaga - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZoneAsia_Sakhalin, // 0xf4a1c9bd, Asia/Sakhalin &kZonePacific_Guadalcanal, // 0xf4dd25f0, Pacific/Guadalcanal @@ -468,19 +456,19 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneUS_Hawaii, // 0x09c8de2f, US/Hawaii -> Pacific/Honolulu &kZoneAmerica_Boa_Vista, // 0x0a7b7efe, America/Boa_Vista &kZoneAsia_Colombo, // 0x0af0e91d, Asia/Colombo - &kZoneCET, // 0x0b87d921, CET - &kZoneEET, // 0x0b87e1a3, EET - &kZoneEST, // 0x0b87e371, EST + &kZoneCET, // 0x0b87d921, CET -> Europe/Brussels + &kZoneEET, // 0x0b87e1a3, EET -> Europe/Athens + &kZoneEST, // 0x0b87e371, EST -> America/Panama &kZoneGMT, // 0x0b87eb2d, GMT -> Etc/GMT - &kZoneHST, // 0x0b87f034, HST - &kZoneMET, // 0x0b8803ab, MET - &kZoneMST, // 0x0b880579, MST + &kZoneHST, // 0x0b87f034, HST -> Pacific/Honolulu + &kZoneMET, // 0x0b8803ab, MET -> Europe/Brussels + &kZoneMST, // 0x0b880579, MST -> America/Phoenix &kZonePRC, // 0x0b88120a, PRC -> Asia/Shanghai &kZoneROC, // 0x0b881a29, ROC -> Asia/Taipei &kZoneROK, // 0x0b881a31, ROK -> Asia/Seoul &kZoneUCT, // 0x0b882571, UCT -> Etc/UTC &kZoneUTC, // 0x0b882791, UTC -> Etc/UTC - &kZoneWET, // 0x0b882e35, WET + &kZoneWET, // 0x0b882e35, WET -> Europe/Lisbon &kZoneAmerica_Guatemala, // 0x0c8259f7, America/Guatemala &kZoneEurope_Mariehamn, // 0x0caa6496, Europe/Mariehamn -> Europe/Helsinki &kZoneAfrica_Monrovia, // 0x0ce90385, Africa/Monrovia @@ -756,7 +744,7 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAustralia_LHI, // 0x8a973e17, Australia/LHI -> Australia/Lord_Howe &kZoneAustralia_NSW, // 0x8a974812, Australia/NSW -> Australia/Sydney &kZonePacific_Nauru, // 0x8acc41ae, Pacific/Nauru - &kZoneEST5EDT, // 0x8adc72a3, EST5EDT + &kZoneEST5EDT, // 0x8adc72a3, EST5EDT -> America/New_York &kZonePacific_Palau, // 0x8af04a36, Pacific/Palau &kZonePacific_Samoa, // 0x8b2699b4, Pacific/Samoa -> Pacific/Pago_Pago &kZoneAmerica_Winnipeg, // 0x8c7dafc7, America/Winnipeg @@ -778,7 +766,7 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAfrica_Niamey, // 0x914a30fd, Africa/Niamey -> Africa/Lagos &kZoneAsia_Yerevan, // 0x9185c8cc, Asia/Yerevan &kZoneAmerica_Detroit, // 0x925cfbc1, America/Detroit - &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan + &kZoneAsia_Choibalsan, // 0x928aa4a6, Asia/Choibalsan -> Asia/Ulaanbaatar &kZoneAntarctica_Macquarie, // 0x92f47626, Antarctica/Macquarie &kZoneAmerica_Belize, // 0x93256c81, America/Belize &kZoneMexico_General, // 0x93711d57, Mexico/General -> America/Mexico_City @@ -961,7 +949,7 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneEtc_UTC, // 0xd8e31abc, Etc/UTC &kZoneAmerica_Yakutat, // 0xd8ee31e9, America/Yakutat &kZoneAfrica_Algiers, // 0xd94515c1, Africa/Algiers - &kZonePST8PDT, // 0xd99ee2dc, PST8PDT + &kZonePST8PDT, // 0xd99ee2dc, PST8PDT -> America/Los_Angeles &kZoneEurope_Bratislava, // 0xda493bed, Europe/Bratislava -> Europe/Prague &kZoneEurope_Simferopol, // 0xda9eb724, Europe/Simferopol &kZonePacific_Funafuti, // 0xdb402d65, Pacific/Funafuti -> Pacific/Tarawa @@ -1004,10 +992,10 @@ const extended::ZoneInfo* const kZoneAndLinkRegistry[596] ACE_TIME_PROGMEM = { &kZoneAsia_Magadan, // 0xebacc19b, Asia/Magadan &kZoneAmerica_Ojinaga, // 0xebfde83f, America/Ojinaga &kZonePacific_Saipan, // 0xeff7a35f, Pacific/Saipan -> Pacific/Guam - &kZoneCST6CDT, // 0xf0e87d00, CST6CDT + &kZoneCST6CDT, // 0xf0e87d00, CST6CDT -> America/Chicago &kZonePacific_Tahiti, // 0xf24c2446, Pacific/Tahiti &kZonePacific_Tarawa, // 0xf2517e63, Pacific/Tarawa - &kZoneMST7MDT, // 0xf2af9375, MST7MDT + &kZoneMST7MDT, // 0xf2af9375, MST7MDT -> America/Denver &kZoneCanada_Eastern, // 0xf3612d5e, Canada/Eastern -> America/Toronto &kZoneAsia_Tashkent, // 0xf3924254, Asia/Tashkent &kZoneAsia_Sakhalin, // 0xf4a1c9bd, Asia/Sakhalin diff --git a/src/zonedbx/zone_registry.h b/src/zonedbx/zone_registry.h index b4fc5e5e7..f5127d394 100644 --- a/src/zonedbx/zone_registry.h +++ b/src/zonedbx/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbx/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbx -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -23,9 +23,9 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // -// Supported Zones: 596 (351 zones, 245 links) +// Supported Zones: 596 (339 zones, 257 links) // Unsupported Zones: 0 (0 zones, 0 links) // // Requested Years: [2000,2200] @@ -40,37 +40,37 @@ // // Records: // Infos: 596 -// Eras: 657 -// Policies: 83 -// Rules: 735 +// Eras: 644 +// Policies: 82 +// Rules: 731 // // Memory (8-bits): // Context: 16 -// Rules: 6615 -// Policies: 249 -// Eras: 7227 -// Zones: 4563 -// Links: 3185 +// Rules: 6579 +// Policies: 246 +// Eras: 7084 +// Zones: 4407 +// Links: 3341 // Registry: 1192 -// Formats: 597 +// Formats: 231 // Letters: 46 // Fragments: 150 // Names: 5649 (original: 9076) -// TOTAL: 29489 +// TOTAL: 28941 // // Memory (32-bits): // Context: 24 -// Rules: 8820 -// Policies: 664 -// Eras: 10512 -// Zones: 8424 -// Links: 5880 +// Rules: 8772 +// Policies: 656 +// Eras: 10304 +// Zones: 8136 +// Links: 6168 // Registry: 2384 -// Formats: 597 +// Formats: 231 // Letters: 64 // Fragments: 178 // Names: 5649 (original: 9076) -// TOTAL: 43196 +// TOTAL: 42566 // // DO NOT EDIT @@ -83,8 +83,8 @@ namespace ace_time { namespace zonedbx { // Zones -const uint16_t kZoneRegistrySize = 351; -extern const extended::ZoneInfo* const kZoneRegistry[351]; +const uint16_t kZoneRegistrySize = 339; +extern const extended::ZoneInfo* const kZoneRegistry[339]; // Zones and Links const uint16_t kZoneAndLinkRegistrySize = 596; diff --git a/src/zonedbxtesting/Makefile b/src/zonedbxtesting/Makefile index 2515869fc..e2fe183ee 100644 --- a/src/zonedbxtesting/Makefile +++ b/src/zonedbxtesting/Makefile @@ -2,7 +2,7 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h TOOLS := $(abspath ../../../AceTimeTools) TZ_REPO := $(abspath $(TOOLS)/../tz) -TZ_VERSION := 2024a +TZ_VERSION := 2024b START_YEAR := 1980 UNTIL_YEAR := 2200 diff --git a/src/zonedbxtesting/zone_infos.cpp b/src/zonedbxtesting/zone_infos.cpp index 66989f77f..eb53f640f 100644 --- a/src/zonedbxtesting/zone_infos.cpp +++ b/src/zonedbxtesting/zone_infos.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT @@ -87,7 +87,7 @@ namespace zonedbxtesting { // ZoneContext //--------------------------------------------------------------------------- -static const char kVersionString[] ACE_TIME_PROGMEM = "2024a"; +static const char kVersionString[] ACE_TIME_PROGMEM = "2024b"; const __FlashStringHelper* const kTzDatabaseVersion = (const __FlashStringHelper*) kVersionString; @@ -137,10 +137,10 @@ const extended::ZoneContext kZoneContext ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { - // 0:00 Morocco +00/+01 1984 Mar 16 + // 0:00 Morocco %z 1984 Mar 16 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -116 /*untilYearTiny*/, @@ -149,10 +149,10 @@ static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 1:00 - +01 1986 + // 1:00 - %z 1986 { nullptr /*zonePolicy*/, - "+01" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -114 /*untilYearTiny*/, @@ -161,10 +161,10 @@ static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 0 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 0:00 Morocco +00/+01 2018 Oct 28 3:00 + // 0:00 Morocco %z 2018 Oct 28 3:00 { &kZonePolicyMorocco /*zonePolicy*/, - "+00/+01" /*format*/, + "" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -82 /*untilYearTiny*/, @@ -173,10 +173,10 @@ static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 1:00 Morocco +01/+00 + // 1:00 Morocco %z { &kZonePolicyMorocco /*zonePolicy*/, - "+01/+00" /*format*/, + "" /*format*/, 4 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -249,10 +249,10 @@ const extended::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { - // -4:00 - -04 2007 Dec 9 3:00 + // -4:00 - %z 2007 Dec 9 3:00 { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -93 /*untilYearTiny*/, @@ -261,10 +261,10 @@ static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 12 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:30 - -0430 2016 May 1 2:30 + // -4:30 - %z 2016 May 1 2:30 { nullptr /*zonePolicy*/, - "-0430" /*format*/, + "" /*format*/, -18 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -84 /*untilYearTiny*/, @@ -273,10 +273,10 @@ static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = { 10 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // -4:00 - -04 + // -4:00 - %z { nullptr /*zonePolicy*/, - "-04" /*format*/, + "" /*format*/, -16 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, @@ -685,21 +685,21 @@ const extended::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { - // 0:00 Port WE%sT 1983 Sep 25 1:00s + // 0:00 Port WE%sT 1986 { &kZonePolicyPort /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, - -117 /*untilYearTiny*/, - 9 /*untilMonth*/, - 25 /*untilDay*/, - 4 /*untilTimeCode*/, - 16 /*untilTimeModifier (kSuffixS + minute=0)*/, + -114 /*untilYearTiny*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode*/, + 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 0:00 W-Eur WE%sT 1992 Sep 27 1:00s + // 0:00 EU WE%sT 1992 Sep 27 1:00u { - &kZonePolicyW_Eur /*zonePolicy*/, + &kZonePolicyEU /*zonePolicy*/, "WE%T" /*format*/, 0 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, @@ -707,7 +707,7 @@ static const extended::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = { 9 /*untilMonth*/, 27 /*untilDay*/, 4 /*untilTimeCode*/, - 16 /*untilTimeModifier (kSuffixS + minute=0)*/, + 32 /*untilTimeModifier (kSuffixU + minute=0)*/, }, // 1:00 EU CE%sT 1996 Mar 31 1:00u { @@ -753,10 +753,10 @@ const extended::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { - // -11:00 WS -11/-10 2011 Dec 29 24:00 + // -11:00 WS %z 2011 Dec 29 24:00 { &kZonePolicyWS /*zonePolicy*/, - "-11/-10" /*format*/, + "" /*format*/, -44 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, -89 /*untilYearTiny*/, @@ -765,10 +765,10 @@ static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = { 96 /*untilTimeCode*/, 0 /*untilTimeModifier (kSuffixW + minute=0)*/, }, - // 13:00 WS +13/+14 + // 13:00 WS %z { &kZonePolicyWS /*zonePolicy*/, - "+13/+14" /*format*/, + "" /*format*/, 52 /*offsetCode*/, 4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/, 127 /*untilYearTiny*/, diff --git a/src/zonedbxtesting/zone_infos.h b/src/zonedbxtesting/zone_infos.h index c39c5c73e..2f6f78cae 100644 --- a/src/zonedbxtesting/zone_infos.h +++ b/src/zonedbxtesting/zone_infos.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT @@ -169,12 +169,12 @@ const uint8_t kZoneBufSizeAmerica_Vancouver = 6; // America/Vancouver in 2008 const uint8_t kZoneBufSizeAmerica_Whitehorse = 6; // America/Whitehorse in 2008 const uint8_t kZoneBufSizeAmerica_Winnipeg = 6; // America/Winnipeg in 2006 const uint8_t kZoneBufSizeAustralia_Darwin = 2; // Australia/Darwin in 1944 -const uint8_t kZoneBufSizeEurope_Lisbon = 6; // Europe/Lisbon in 1983 +const uint8_t kZoneBufSizeEurope_Lisbon = 6; // Europe/Lisbon in 1985 const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 //--------------------------------------------------------------------------- -// Unsupported zones: 336 +// Unsupported zones: 324 //--------------------------------------------------------------------------- // Africa/Abidjan {Zone missing from include list} @@ -326,7 +326,6 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Asia/Beirut {Zone missing from include list} // Asia/Bishkek {Zone missing from include list} // Asia/Chita {Zone missing from include list} -// Asia/Choibalsan {Zone missing from include list} // Asia/Colombo {Zone missing from include list} // Asia/Damascus {Zone missing from include list} // Asia/Dhaka {Zone missing from include list} @@ -405,11 +404,6 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Australia/Melbourne {Zone missing from include list} // Australia/Perth {Zone missing from include list} // Australia/Sydney {Zone missing from include list} -// CET {Zone missing from include list} -// CST6CDT {Zone missing from include list} -// EET {Zone missing from include list} -// EST {Zone missing from include list} -// EST5EDT {Zone missing from include list} // Etc/GMT {Zone missing from include list} // Etc/GMT+1 {Zone missing from include list} // Etc/GMT+10 {Zone missing from include list} @@ -475,14 +469,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Europe/Volgograd {Zone missing from include list} // Europe/Warsaw {Zone missing from include list} // Europe/Zurich {Zone missing from include list} -// HST {Zone missing from include list} // Indian/Chagos {Zone missing from include list} // Indian/Maldives {Zone missing from include list} // Indian/Mauritius {Zone missing from include list} -// MET {Zone missing from include list} -// MST {Zone missing from include list} -// MST7MDT {Zone missing from include list} -// PST8PDT {Zone missing from include list} // Pacific/Auckland {Zone missing from include list} // Pacific/Bougainville {Zone missing from include list} // Pacific/Chatham {Zone missing from include list} @@ -512,14 +501,14 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Pacific/Tahiti {Zone missing from include list} // Pacific/Tarawa {Zone missing from include list} // Pacific/Tongatapu {Zone missing from include list} -// WET {Zone missing from include list} //--------------------------------------------------------------------------- -// Notable zones: 2 +// Notable zones: 3 //--------------------------------------------------------------------------- // Africa/Casablanca { +// RULES not fixed but FORMAT is missing '%s' or '/', // Morocco {SAVE '-1:00' is a negative DST} // } // Africa/Windhoek { @@ -529,10 +518,11 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // SAVE '-1:00' is a negative DST, // } // } +// Pacific/Apia {RULES not fixed but FORMAT is missing '%s' or '/'} //--------------------------------------------------------------------------- -// Unsupported links: 244 +// Unsupported links: 256 //--------------------------------------------------------------------------- // Africa/Accra {Link missing from include list} @@ -628,6 +618,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Asia/Bahrain {Link missing from include list} // Asia/Brunei {Link missing from include list} // Asia/Calcutta {Link missing from include list} +// Asia/Choibalsan {Link missing from include list} // Asia/Chongqing {Link missing from include list} // Asia/Chungking {Link missing from include list} // Asia/Dacca {Link missing from include list} @@ -667,6 +658,8 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Brazil/DeNoronha {Link missing from include list} // Brazil/East {Link missing from include list} // Brazil/West {Link missing from include list} +// CET {Link missing from include list} +// CST6CDT {Link missing from include list} // Canada/Atlantic {Link missing from include list} // Canada/Central {Link missing from include list} // Canada/Eastern {Link missing from include list} @@ -678,6 +671,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Chile/Continental {Link missing from include list} // Chile/EasterIsland {Link missing from include list} // Cuba {Link missing from include list} +// EET {Link missing from include list} +// EST {Link missing from include list} +// EST5EDT {Link missing from include list} // Egypt {Link missing from include list} // Eire {Link missing from include list} // Etc/GMT+0 {Link missing from include list} @@ -720,6 +716,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // GMT-0 {Link missing from include list} // GMT0 {Link missing from include list} // Greenwich {Link missing from include list} +// HST {Link missing from include list} // Hongkong {Link missing from include list} // Iceland {Link missing from include list} // Indian/Antananarivo {Link missing from include list} @@ -736,6 +733,9 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // Japan {Link missing from include list} // Kwajalein {Link missing from include list} // Libya {Link missing from include list} +// MET {Link missing from include list} +// MST {Link missing from include list} +// MST7MDT {Link missing from include list} // Mexico/BajaNorte {Link missing from include list} // Mexico/BajaSur {Link missing from include list} // Mexico/General {Link missing from include list} @@ -743,6 +743,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // NZ-CHAT {Link missing from include list} // Navajo {Link missing from include list} // PRC {Link missing from include list} +// PST8PDT {Link missing from include list} // Pacific/Chuuk {Link missing from include list} // Pacific/Enderbury {Link missing from include list} // Pacific/Funafuti {Link missing from include list} @@ -778,6 +779,7 @@ const uint8_t kZoneBufSizePacific_Apia = 5; // Pacific/Apia in 2011 // UTC {Link missing from include list} // Universal {Link missing from include list} // W-SU {Link missing from include list} +// WET {Link missing from include list} // Zulu {Link missing from include list} diff --git a/src/zonedbxtesting/zone_policies.cpp b/src/zonedbxtesting/zone_policies.cpp index e2bbde404..c5f20d411 100644 --- a/src/zonedbxtesting/zone_policies.cpp +++ b/src/zonedbxtesting/zone_policies.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT @@ -83,8 +83,8 @@ namespace ace_time { namespace zonedbxtesting { //--------------------------------------------------------------------------- -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -2477,11 +2477,11 @@ const extended::ZonePolicy kZonePolicyNamibia ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Port -// Rules: 7 +// Rules: 6 //--------------------------------------------------------------------------- static const extended::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { - // Anchor: Rule Port 1978 only - Oct 1 0:00s 0 - + // Anchor: Rule Port 1978 only - Oct 1 1:00s 0 - { -127 /*fromYearTiny (-32767)*/, -127 /*toYearTiny (-32767)*/, @@ -2493,34 +2493,34 @@ static const extended::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S + // Rule Port 1978 1980 - Apr Sun>=1 1:00s 1:00 S { -122 /*fromYearTiny (1978)*/, - -121 /*toYearTiny (1979)*/, + -120 /*toYearTiny (1980)*/, 4 /*inMonth*/, 7 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, - 0 /*atTimeCode*/, + 4 /*atTimeCode*/, 16 /*atTimeModifier (kSuffixS + minute=0)*/, 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, 3 /*letterIndex ("S")*/, }, - // Rule Port 1978 only - Oct 1 0:00s 0 - + // Rule Port 1978 only - Oct 1 1:00s 0 - { -122 /*fromYearTiny (1978)*/, -122 /*toYearTiny (1978)*/, 10 /*inMonth*/, 0 /*onDayOfWeek*/, 1 /*onDayOfMonth*/, - 0 /*atTimeCode*/, + 4 /*atTimeCode*/, 16 /*atTimeModifier (kSuffixS + minute=0)*/, 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1979 1982 - Sep lastSun 1:00s 0 - + // Rule Port 1979 1980 - Sep lastSun 1:00s 0 - { -121 /*fromYearTiny (1979)*/, - -118 /*toYearTiny (1982)*/, + -120 /*toYearTiny (1980)*/, 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -2529,10 +2529,10 @@ static const extended::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, 0 /*letterIndex ("")*/, }, - // Rule Port 1980 only - Mar lastSun 0:00s 1:00 S + // Rule Port 1981 1986 - Mar lastSun 0:00s 1:00 S { - -120 /*fromYearTiny (1980)*/, - -120 /*toYearTiny (1980)*/, + -119 /*fromYearTiny (1981)*/, + -114 /*toYearTiny (1986)*/, 3 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, @@ -2541,36 +2541,24 @@ static const extended::ZoneRule kZoneRulesPort[] ACE_TIME_PROGMEM = { 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, 3 /*letterIndex ("S")*/, }, - // Rule Port 1981 1982 - Mar lastSun 1:00s 1:00 S + // Rule Port 1981 1985 - Sep lastSun 0:00s 0 - { -119 /*fromYearTiny (1981)*/, - -118 /*toYearTiny (1982)*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 3 /*letterIndex ("S")*/, - }, - // Rule Port 1983 only - Mar lastSun 2:00s 1:00 S - { - -117 /*fromYearTiny (1983)*/, - -117 /*toYearTiny (1983)*/, - 3 /*inMonth*/, + -115 /*toYearTiny (1985)*/, + 9 /*inMonth*/, 7 /*onDayOfWeek*/, 0 /*onDayOfMonth*/, - 8 /*atTimeCode*/, + 0 /*atTimeCode*/, 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 3 /*letterIndex ("S")*/, + 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, + 0 /*letterIndex ("")*/, }, }; const extended::ZonePolicy kZonePolicyPort ACE_TIME_PROGMEM = { kZoneRulesPort /*rules*/, - 7 /*numRules*/, + 6 /*numRules*/, }; //--------------------------------------------------------------------------- @@ -2733,92 +2721,6 @@ const extended::ZonePolicy kZonePolicyVanc ACE_TIME_PROGMEM = { 4 /*numRules*/, }; -//--------------------------------------------------------------------------- -// Policy name: W-Eur -// Rules: 6 -//--------------------------------------------------------------------------- - -static const extended::ZoneRule kZoneRulesW_Eur[] ACE_TIME_PROGMEM = { - // Anchor: Rule W-Eur 1978 only - Oct 1 1:00s 0 - - { - -127 /*fromYearTiny (-32767)*/, - -127 /*toYearTiny (-32767)*/, - 1 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 0 /*atTimeCode*/, - 0 /*atTimeModifier (kSuffixW + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1977 1980 - Apr Sun>=1 1:00s 1:00 S - { - -123 /*fromYearTiny (1977)*/, - -120 /*toYearTiny (1980)*/, - 4 /*inMonth*/, - 7 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 3 /*letterIndex ("S")*/, - }, - // Rule W-Eur 1978 only - Oct 1 1:00s 0 - - { - -122 /*fromYearTiny (1978)*/, - -122 /*toYearTiny (1978)*/, - 10 /*inMonth*/, - 0 /*onDayOfWeek*/, - 1 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1979 1995 - Sep lastSun 1:00s 0 - - { - -121 /*fromYearTiny (1979)*/, - -105 /*toYearTiny (1995)*/, - 9 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - // Rule W-Eur 1981 max - Mar lastSun 1:00s 1:00 S - { - -119 /*fromYearTiny (1981)*/, - 126 /*toYearTiny (32766)*/, - 3 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 8 /*deltaCode ((deltaMinutes=60)/15 + 4)*/, - 3 /*letterIndex ("S")*/, - }, - // Rule W-Eur 1996 max - Oct lastSun 1:00s 0 - - { - -104 /*fromYearTiny (1996)*/, - 126 /*toYearTiny (32766)*/, - 10 /*inMonth*/, - 7 /*onDayOfWeek*/, - 0 /*onDayOfMonth*/, - 4 /*atTimeCode*/, - 16 /*atTimeModifier (kSuffixS + minute=0)*/, - 4 /*deltaCode ((deltaMinutes=0)/15 + 4)*/, - 0 /*letterIndex ("")*/, - }, - -}; - -const extended::ZonePolicy kZonePolicyW_Eur ACE_TIME_PROGMEM = { - kZoneRulesW_Eur /*rules*/, - 6 /*numRules*/, -}; - //--------------------------------------------------------------------------- // Policy name: WS // Rules: 6 diff --git a/src/zonedbxtesting/zone_policies.h b/src/zonedbxtesting/zone_policies.h index e9eda13d2..2e8346f02 100644 --- a/src/zonedbxtesting/zone_policies.h +++ b/src/zonedbxtesting/zone_policies.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT @@ -85,7 +85,7 @@ namespace ace_time { namespace zonedbxtesting { //--------------------------------------------------------------------------- -// Supported policies: 12 +// Supported policies: 11 //--------------------------------------------------------------------------- extern const extended::ZonePolicy kZonePolicyAus; @@ -97,13 +97,12 @@ extern const extended::ZonePolicy kZonePolicyNamibia; extern const extended::ZonePolicy kZonePolicyPort; extern const extended::ZonePolicy kZonePolicyUS; extern const extended::ZonePolicy kZonePolicyVanc; -extern const extended::ZonePolicy kZonePolicyW_Eur; extern const extended::ZonePolicy kZonePolicyWS; extern const extended::ZonePolicy kZonePolicyWinn; //--------------------------------------------------------------------------- -// Unsupported policies: 122 +// Unsupported policies: 123 //--------------------------------------------------------------------------- // AN {unused} @@ -226,6 +225,7 @@ extern const extended::ZonePolicy kZonePolicyWinn; // Uruguay {unused} // Vanuatu {unused} // Vincennes {unused} +// W-Eur {unused} // Yukon {unused} // Zion {unused} diff --git a/src/zonedbxtesting/zone_registry.cpp b/src/zonedbxtesting/zone_registry.cpp index 4fd896ea5..1b6297cc0 100644 --- a/src/zonedbxtesting/zone_registry.cpp +++ b/src/zonedbxtesting/zone_registry.cpp @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT diff --git a/src/zonedbxtesting/zone_registry.h b/src/zonedbxtesting/zone_registry.h index 3deb6fe70..cc2a7cb4c 100644 --- a/src/zonedbxtesting/zone_registry.h +++ b/src/zonedbxtesting/zone_registry.h @@ -3,7 +3,7 @@ // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py // --input_dir /home/brian/src/AceTime/src/zonedbxtesting/tzfiles // --output_dir /home/brian/src/AceTime/src/zonedbxtesting -// --tz_version 2024a +// --tz_version 2024b // --action zonedb // --language arduino // --scope extended @@ -25,10 +25,10 @@ // northamerica // southamerica // -// from https://github.com/eggert/tz/releases/tag/2024a +// from https://github.com/eggert/tz/releases/tag/2024b // // Supported Zones: 16 (15 zones, 1 links) -// Unsupported Zones: 580 (336 zones, 244 links) +// Unsupported Zones: 580 (324 zones, 256 links) // // Requested Years: [1980,2200] // Accurate Years: [1980,32767] @@ -43,36 +43,36 @@ // Records: // Infos: 16 // Eras: 30 -// Policies: 12 -// Rules: 227 +// Policies: 11 +// Rules: 220 // // Memory (8-bits): // Context: 16 -// Rules: 2043 -// Policies: 36 +// Rules: 1980 +// Policies: 33 // Eras: 330 // Zones: 195 // Links: 13 // Registry: 32 -// Formats: 92 +// Formats: 47 // Letters: 23 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 3040 +// TOTAL: 2929 // // Memory (32-bits): // Context: 24 -// Rules: 2724 -// Policies: 96 +// Rules: 2640 +// Policies: 88 // Eras: 480 // Zones: 360 // Links: 24 // Registry: 64 -// Formats: 92 +// Formats: 47 // Letters: 33 // Fragments: 0 // Names: 260 (original: 260) -// TOTAL: 4157 +// TOTAL: 4020 // // DO NOT EDIT From d9c89360ebcfd291d3c3fb69a4b7896649b465b2 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Tue, 10 Dec 2024 15:21:57 -0800 Subject: [PATCH 03/10] BasicZoneProcessor.h: 'offsetMinutes' now holds STD time offset, not total offset, for consistency with ExtendedZoneProcessor.h --- src/ace_time/BasicZoneProcessor.h | 27 +++++++++---------- src/ace_time/Transition.h | 8 +----- .../BasicZoneProcessorTest.ino | 8 ++++-- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/ace_time/BasicZoneProcessor.h b/src/ace_time/BasicZoneProcessor.h index 5b4c8f25f..096136625 100644 --- a/src/ace_time/BasicZoneProcessor.h +++ b/src/ace_time/BasicZoneProcessor.h @@ -79,9 +79,8 @@ struct TransitionTemplate { acetime_t startEpochSeconds; /** - * The total effective UTC offset minutes at the start of transition, - * *including* DST offset. (Maybe rename this effectiveOffsetMinutes?) The - * DST offset is stored at deltaMinutes. + * The standard time offset minutes at the start of transition, *not + * including* DST offset. */ int16_t offsetMinutes; @@ -298,8 +297,7 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { if (!transition) return result; result.dstOffsetSeconds = transition->deltaMinutes * kSecPerMin; - result.stdOffsetSeconds = (transition->offsetMinutes - - transition->deltaMinutes) * kSecPerMin; + result.stdOffsetSeconds = transition->offsetMinutes * kSecPerMin; result.reqStdOffsetSeconds = result.stdOffsetSeconds; result.reqDstOffsetSeconds = result.dstOffsetSeconds; result.type = FindResult::kTypeExact; @@ -765,7 +763,7 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { if (month != 0) { mon = month; } - int16_t offsetMinutes = era.offsetSeconds() / kSecPerMin + deltaMinutes; + int16_t offsetMinutes = era.offsetSeconds() / kSecPerMin; transition.era = era; transition.rule = rule; @@ -822,16 +820,17 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { // Also, when transition.rule == nullptr, the mNumTransitions should // be 1, since only a single transition is added by // addTransitionsForYear(). - const int16_t prevOffsetMinutes = prevTransition->offsetMinutes; + const int16_t prevTotalOffsetMinutes = prevTransition->offsetMinutes + + prevTransition->deltaMinutes; OffsetDateTime startDateTime = OffsetDateTime::forComponents( year, 1, 1, 0, 0, 0, - TimeOffset::forMinutes(prevOffsetMinutes)); + TimeOffset::forMinutes(prevTotalOffsetMinutes)); transition.startEpochSeconds = startDateTime.toEpochSeconds(); } else { // In this case, the transition points to a named ZonePolicy, which // means that there could be multiple ZoneRules associated with the // given year. For each transition, determine the startEpochSeconds, - // and the effective offset code. + // and the effective offset time. // Determine the start date of the rule. const internal::MonthDay monthDay = internal::calcStartDayOfMonth( @@ -840,8 +839,8 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { // Determine the offset of the 'atTimeSuffix'. The 'w' suffix // requires the offset of the previous transition. - const int16_t prevOffsetMinutes = calcRuleOffsetMinutes( - prevTransition->offsetMinutes, + const int16_t prevTotalOffsetMinutes = calcRuleOffsetMinutes( + prevTransition->offsetMinutes + prevTransition->deltaMinutes, transition.era.offsetSeconds() / kSecPerMin, transition.rule.atTimeSuffix()); @@ -852,7 +851,7 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { OffsetDateTime startDateTime = OffsetDateTime::forComponents( year, monthDay.month, monthDay.day, atHour, atMinute, 0 /*second*/, - TimeOffset::forMinutes(prevOffsetMinutes)); + TimeOffset::forMinutes(prevTotalOffsetMinutes)); transition.startEpochSeconds = startDateTime.toEpochSeconds(); } @@ -866,10 +865,10 @@ class BasicZoneProcessorTemplate: public ZoneProcessor { * (which does not contain the extra DST offset). If 'u', 'g', 'z', then * use 0 offset. */ - static int16_t calcRuleOffsetMinutes(int16_t prevEffectiveOffsetMinutes, + static int16_t calcRuleOffsetMinutes(int16_t prevTotalOffsetMinutes, int16_t currentBaseOffsetMinutes, uint8_t atSuffix) { if (atSuffix == basic::ZoneContext::kSuffixW) { - return prevEffectiveOffsetMinutes; + return prevTotalOffsetMinutes; } else if (atSuffix == basic::ZoneContext::kSuffixS) { return currentBaseOffsetMinutes; } else { // 'u', 'g' or 'z' diff --git a/src/ace_time/Transition.h b/src/ace_time/Transition.h index 0403a9469..c8badf91d 100644 --- a/src/ace_time/Transition.h +++ b/src/ace_time/Transition.h @@ -175,13 +175,7 @@ struct TransitionTemplate { /** The calculated transition time of the given rule. */ acetime_t startEpochSeconds; - /** - * The base offset minutes, not the total effective UTC offset. Note that - * this is different than basic::Transition::offsetSeconds used by - * BasicZoneProcessor which is the total effective offsetSeconds. (It may be - * possible to make this into an effective offsetSeconds (i.e. offsetSeconds - * + deltaSeconds) but it does not seem worth making that change right now.) - */ + /** The standard time offset seconds, not the total offset. */ int32_t offsetSeconds; /** The DST delta seconds. */ diff --git a/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino b/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino index 356517949..9f4f4a8d7 100644 --- a/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino +++ b/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino @@ -191,7 +191,8 @@ test(BasicZoneProcessorTest, init_primitives) { assertEqual(-8*60, zoneProcessor.mTransitions[0].offsetMinutes); // t >= 2001-04-01 02:00 UTC-08:00 Sunday goes to PDT - assertEqual(-7*60, zoneProcessor.mTransitions[1].offsetMinutes); + assertEqual(-8*60, zoneProcessor.mTransitions[1].offsetMinutes); + assertEqual(1*60, zoneProcessor.mTransitions[1].deltaMinutes); assertEqual( (acetime_t) (39434400 /*relative to 2000*/ - Epoch::daysToCurrentEpochFromInternalEpoch() * 86400), @@ -199,6 +200,7 @@ test(BasicZoneProcessorTest, init_primitives) { // t >= 2001-10-28 02:00 UTC-07:00 Sunday goes to PST assertEqual(-8*60, zoneProcessor.mTransitions[2].offsetMinutes); + assertEqual(0*60, zoneProcessor.mTransitions[2].deltaMinutes); assertEqual( (acetime_t) (57574800 /*relative to 2000*/ - Epoch::daysToCurrentEpochFromInternalEpoch() * 86400), @@ -241,7 +243,8 @@ test(BasicZoneProcessorTest, initForLocalDate) { assertEqual(-8*60, zoneProcessor.mTransitions[0].offsetMinutes); // t >= 2018-03-11 02:00 UTC-08:00 Sunday goes to PDT - assertEqual(-7*60, zoneProcessor.mTransitions[1].offsetMinutes); + assertEqual(-8*60, zoneProcessor.mTransitions[1].offsetMinutes); + assertEqual(1*60, zoneProcessor.mTransitions[1].deltaMinutes); assertEqual( (acetime_t) (574077600 /*relative to 2000*/ - Epoch::daysToCurrentEpochFromInternalEpoch() * 86400), @@ -249,6 +252,7 @@ test(BasicZoneProcessorTest, initForLocalDate) { // t >= 2018-11-04 02:00 UTC-07:00 Sunday goes to PST assertEqual(-8*60, zoneProcessor.mTransitions[2].offsetMinutes); + assertEqual(0*60, zoneProcessor.mTransitions[2].deltaMinutes); assertEqual( (acetime_t) (594637200 /*relative to 2000*/ - Epoch::daysToCurrentEpochFromInternalEpoch() * 86400), From b6b87e09c43b56658c1a549814885ceac3df9fa8 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Wed, 11 Dec 2024 14:37:01 -0800 Subject: [PATCH 04/10] src/zoneinfo/ZoneInfo*.h: remove obsolete references to kAnchorEra object --- src/zoneinfo/ZoneInfoHigh.h | 9 ++++----- src/zoneinfo/ZoneInfoLow.h | 9 ++++----- src/zoneinfo/ZoneInfoMid.h | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/zoneinfo/ZoneInfoHigh.h b/src/zoneinfo/ZoneInfoHigh.h index 9cc155d8d..96a491794 100644 --- a/src/zoneinfo/ZoneInfoHigh.h +++ b/src/zoneinfo/ZoneInfoHigh.h @@ -193,13 +193,14 @@ struct ZoneEra { /** * Zone abbreviations (e.g. PST, EST) determined by the FORMAT column. It has - * 3 encodings in the TZ DB files: + * 4 encodings in the TZ DB files: * * 1) A fixed string, e.g. "GMT". * 2) Two strings separated by a '/', e.g. "-03/-02" indicating * "{std}/{dst}" options. * 3) A single string with a substitution, e.g. "E%sT", where the "%s" is * replaced by the LETTER value from the ZoneRule. + * 4) An empty string representing the "%z" format. * * BasicZoneProcessor supports only a single letter subsitution from LETTER, * but ExtendedZoneProcessor supports substituting multi-character strings @@ -211,10 +212,8 @@ struct ZoneEra { * simpler. For example, 'E%sT' is stored as 'E%T', and the LETTER * substitution is performed on the '%' character. * - * This field will never be a 'nullptr' if it was derived from an actual - * entry from the TZ dtabase. There is an internal object named - * `ExtendedZoneProcessor::kAnchorEra` which does set this field to nullptr. - * Maybe it should be set to ""? + * This field will never be a 'nullptr' because the AceTimeTools compiler + * always generates a ZoneEra entry with a non-null format. */ const char* const format; diff --git a/src/zoneinfo/ZoneInfoLow.h b/src/zoneinfo/ZoneInfoLow.h index 78f6fb798..25771bb24 100644 --- a/src/zoneinfo/ZoneInfoLow.h +++ b/src/zoneinfo/ZoneInfoLow.h @@ -213,13 +213,14 @@ struct ZoneEra { /** * Zone abbreviations (e.g. PST, EST) determined by the FORMAT column. It has - * 3 encodings in the TZ DB files: + * 4 encodings in the TZ DB files: * * 1) A fixed string, e.g. "GMT". * 2) Two strings separated by a '/', e.g. "-03/-02" indicating * "{std}/{dst}" options. * 3) A single string with a substitution, e.g. "E%sT", where the "%s" is * replaced by the LETTER value from the ZoneRule. + * 4) An empty string representing the "%z" format. * * BasicZoneProcessor supports only a single letter subsitution from LETTER, * but ExtendedZoneProcessor supports substituting multi-character strings @@ -231,10 +232,8 @@ struct ZoneEra { * simpler. For example, 'E%sT' is stored as 'E%T', and the LETTER * substitution is performed on the '%' character. * - * This field will never be a 'nullptr' if it was derived from an actual - * entry from the TZ dtabase. There is an internal object named - * `ExtendedZoneProcessor::kAnchorEra` which does set this field to nullptr. - * Maybe it should be set to ""? + * This field will never be a 'nullptr' because the AceTimeTools compiler + * always generates a ZoneEra entry with a non-null format. */ const char* const format; diff --git a/src/zoneinfo/ZoneInfoMid.h b/src/zoneinfo/ZoneInfoMid.h index 49fe0a074..a7d844b58 100644 --- a/src/zoneinfo/ZoneInfoMid.h +++ b/src/zoneinfo/ZoneInfoMid.h @@ -198,13 +198,14 @@ struct ZoneEra { /** * Zone abbreviations (e.g. PST, EST) determined by the FORMAT column. It has - * 3 encodings in the TZ DB files: + * 4 encodings in the TZ DB files: * * 1) A fixed string, e.g. "GMT". * 2) Two strings separated by a '/', e.g. "-03/-02" indicating * "{std}/{dst}" options. * 3) A single string with a substitution, e.g. "E%sT", where the "%s" is * replaced by the LETTER value from the ZoneRule. + * 4) An empty string representing the "%z" format. * * BasicZoneProcessor supports only a single letter subsitution from LETTER, * but ExtendedZoneProcessor supports substituting multi-character strings @@ -216,10 +217,8 @@ struct ZoneEra { * simpler. For example, 'E%sT' is stored as 'E%T', and the LETTER * substitution is performed on the '%' character. * - * This field will never be a 'nullptr' if it was derived from an actual - * entry from the TZ dtabase. There is an internal object named - * `ExtendedZoneProcessor::kAnchorEra` which does set this field to nullptr. - * Maybe it should be set to ""? + * This field will never be a 'nullptr' because the AceTimeTools compiler + * always generates a ZoneEra entry with a non-null format. */ const char* const format; From 63bfd35be43275866d855063321019d5b92c8f72 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Wed, 11 Dec 2024 16:05:00 -0800 Subject: [PATCH 05/10] ZoneInfo*.h: Add doxygen file-level comments, to help remember their purpose --- DEVELOPER.md | 4 ++-- src/zoneinfo/ZoneInfoHigh.h | 27 +++++++++++++++++++++++---- src/zoneinfo/ZoneInfoLow.h | 27 +++++++++++++++++++++++---- src/zoneinfo/ZoneInfoMid.h | 22 ++++++++++++++++++++++ 4 files changed, 70 insertions(+), 10 deletions(-) diff --git a/DEVELOPER.md b/DEVELOPER.md index 41b991f85..15904f164 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -123,7 +123,7 @@ implementations defined, corresponding to different resolution levels supported by each set: * `ZoneInfoLow.h` - * low resolution + * low resolution persistence format * 1-minute resolution for AT, UNTIL, STDOFF; 15-minute resolution for DST offsets * year fields using 1-byte offset from a `baseYear` of 2100, @@ -136,7 +136,7 @@ by each set: * `ZoneInfoMid.h` * medium resolution persistence format * 1-minute resolution for AT, UNTIL, STDOFF; 15-minute resolution for - DST offset) + DST offset * 2-byte year fields supporting years `[-32767,32765]` * `zoneinfomid::ZoneContext<>` * `zoneinfomid::ZoneRule<>` diff --git a/src/zoneinfo/ZoneInfoHigh.h b/src/zoneinfo/ZoneInfoHigh.h index 96a491794..270271a80 100644 --- a/src/zoneinfo/ZoneInfoHigh.h +++ b/src/zoneinfo/ZoneInfoHigh.h @@ -6,6 +6,24 @@ #ifndef ACE_TIME_ZONE_INFO_HIGH_H #define ACE_TIME_ZONE_INFO_HIGH_H +/** + * @file ZoneInfoHigh.h + * + * Data structures that encodes the high resolution zoneinfo database + * persistence format. It has a 1-second resolution for AT, UNTIL, STDOFF, and + * DST offsets. The year fiels use 2-bytes which supporting years + * `[-32767,32765]`. + * + * The BrokersHigh.h file provides an abtraction layer which converts these + * low-level fields into a semantically consistent API which can be used by the + * AceTime classes. + * + * The various zoneinfo database files (e.g. zonedb, zonedbx, zonedbc) will + * use one of these persistence formats, as defined by infos.h. + * + * See also DEVELOPER.md for an overview of the ZoneInfoXXX layer. + */ + #include namespace ace_time { @@ -178,10 +196,11 @@ struct ZonePolicy { * determined by the RULES column in the TZ Database file. * * There are 2 types of ZoneEra: - * 1) zonePolicy == nullptr. Then deltaCode determines the additional offset - * from offsetCode. A value of '-' in the TZ Database file is stored as 0. - * 2) zonePolicy != nullptr. Then the deltaCode offset is given by the - * ZoneRule.deltaCode which matches the time instant of interest. + * 1) zonePolicy == nullptr. Then ZoneEra.deltaMinutes determines the + * additional offset from offsetCode. A value of '-' in the TZ Database file + * is stored as 0. + * 2) zonePolicy != nullptr. Then the deltaMinutes offset is given by the + * ZoneRule.deltaMinutes which matches the time instant of interest. */ template struct ZoneEra { diff --git a/src/zoneinfo/ZoneInfoLow.h b/src/zoneinfo/ZoneInfoLow.h index 25771bb24..c64bce53a 100644 --- a/src/zoneinfo/ZoneInfoLow.h +++ b/src/zoneinfo/ZoneInfoLow.h @@ -6,6 +6,24 @@ #ifndef ACE_TIME_ZONE_INFO_LOW_H #define ACE_TIME_ZONE_INFO_LOW_H +/** + * @file ZoneInfoLow.h + * + * Data structures describe the low resolution zoneinfo persistence format. It + * has a 1-minute resolution for AT, UNTIL, STDOFF; 15-minute resolution for DST + * offsets. The year fields use a 1-byte offset from a `baseYear` which gives a + * [-127,+126] range. + * + * The BrokersLow.h file provides an abtraction layer which converts these + * low-level fields into a semantically consistent API which can be used by the + * AceTime classes. + * + * The various zoneinfo database files (e.g. zonedb, zonedbx, zonedbc) will + * use one of these persistence formats, as defined by infos.h. + * + * See also DEVELOPER.md for an overview of the ZoneInfoXXX layer. + */ + #include namespace ace_time{ @@ -198,10 +216,11 @@ struct ZonePolicy { * determined by the RULES column in the TZ Database file. * * There are 2 types of ZoneEra: - * 1) zonePolicy == nullptr. Then deltaCode determines the additional offset - * from offsetCode. A value of '-' in the TZ Database file is stored as 0. - * 2) zonePolicy != nullptr. Then the deltaCode offset is given by the - * ZoneRule.deltaCode which matches the time instant of interest. + * 1) zonePolicy == nullptr. Then ZoneEra.deltaCode determines the additional + * offset from offsetCode. A value of '-' in the TZ Database file is stored + * as 0. + * 2) zonePolicy != nullptr. Then the ZoneRule.deltaCode offset is given by + * the ZoneRule.deltaCode which matches the time instant of interest. */ template struct ZoneEra { diff --git a/src/zoneinfo/ZoneInfoMid.h b/src/zoneinfo/ZoneInfoMid.h index a7d844b58..fe6bd8766 100644 --- a/src/zoneinfo/ZoneInfoMid.h +++ b/src/zoneinfo/ZoneInfoMid.h @@ -8,6 +8,28 @@ #include +/** + * @file ZoneInfoMid.h + * + * Data structures that describe the mid resolution zoneinfo persistence format. + * by the AceTimeTools compiler. It has a 1-minute resolution for AT, UNTIL, + * STDOFF; a 15-minute resolution for DST offset (similar to ZoneInfoLow). But + * it also uses 2-byte year fields supporting year range of `[-32767,32765]` + * (similar to ZoneInfoHigh). + * + * The BrokersMid.h file provides an abtraction layer which converts these + * low-level fields into a semantically consistent API which can be used by the + * AceTime classes. + * + * The various zoneinfo database files (e.g. zonedb, zonedbx, zonedbc) will + * use one of these persistence formats, as defined by infos.h. (The + * ZoneInfoMid.h persistence format was used at some point during the + * development, but it is current *not* used by any of the zone*db database + * files.) + * + * See also DEVELOPER.md for an overview of the ZoneInfoXXX layer. + */ + namespace ace_time{ namespace zoneinfomid { From 985819517b7295a7f4de79236423424db129194c Mon Sep 17 00:00:00 2001 From: Brian Park Date: Fri, 13 Dec 2024 14:50:18 -0800 Subject: [PATCH 06/10] CHANGELOG.md: support %z; upgrade to TZDB 2024b --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 274917844..d46c4a3d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Changelog - Unreleased + - Support new `%z` value in FORMAT column. + - Upgrade TZDB to 2024b + - https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/IZ7AO6WRE3W3TWBL5IR6PMQUL433BQIE/ + - "Improve historical data for Mexico, Mongolia, and Portugal. System V + names are now obsolescent. The main data form now uses %z. The code + now conforms to RFC 8536 for early timestamps. Support POSIX.1-2024, + which removes asctime_r and ctime_r. Assume POSIX.2-1992 or later for + shell scripts. SUPPORT_C89 now defaults to 1." - 2.3.2 (2024-07-25, TZDB version 2024a) - Upgrade TZDB to 2024a - https://mm.icann.org/pipermail/tz-announce/2024-February/000081.html From e8672e5f4d5d3deb34185ab2a8221ab5992e8aa2 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Fri, 13 Dec 2024 15:03:38 -0800 Subject: [PATCH 07/10] Bump version to 2.4.0 --- CHANGELOG.md | 1 + README.md | 2 +- USER_GUIDE.md | 2 +- docs/doxygen.cfg | 2 +- library.properties | 2 +- src/AceTime.h | 4 ++-- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d46c4a3d8..e8b54a427 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog - Unreleased +- 2.4.0 (2024-12-13, TZDB version 2024b) - Support new `%z` value in FORMAT column. - Upgrade TZDB to 2024b - https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/IZ7AO6WRE3W3TWBL5IR6PMQUL433BQIE/ diff --git a/README.md b/README.md index e40338d09..e595b788c 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ and the `zonedbc` database to support all timezones, for all transitions defined in the IANA TZ database (`[1844,2087]`), and extending the validity of timezone calculations from `[2000,10000)` to `[0001,10000)`. -**Version**: 2.3.2 (2024-07-25, TZDB version 2024a) +**Version**: 2.4.0 (2024-12-13, TZDB version 2024b) **Changelog**: [CHANGELOG.md](CHANGELOG.md) diff --git a/USER_GUIDE.md b/USER_GUIDE.md index e5d4f9f88..55882f358 100644 --- a/USER_GUIDE.md +++ b/USER_GUIDE.md @@ -18,7 +18,7 @@ The IANA TZ database is programmatically generated into 3 predefined databases: databases have different accuracy ranges, and are designed to work with different `ZoneProcessor` and `ZoneManager` classes. -**Version**: 2.3.2 (2024-07-25, TZDB 2024a) +**Version**: 2.4.0 (2024-12-13, TZDB 2024b) **Related Documents**: diff --git a/docs/doxygen.cfg b/docs/doxygen.cfg index b9e4cb4b2..fe18e1720 100644 --- a/docs/doxygen.cfg +++ b/docs/doxygen.cfg @@ -38,7 +38,7 @@ PROJECT_NAME = AceTime # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.3.0 +PROJECT_NUMBER = 2.4.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/library.properties b/library.properties index 1290869c1..362dc2072 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=AceTime -version=2.3.2 +version=2.4.0 author=Brian T. Park maintainer=Brian T. Park sentence=Date, time, timezone classes for Arduino supporting the full IANA TZ Database to convert epoch seconds to date and time components in different time zones. diff --git a/src/AceTime.h b/src/AceTime.h index ad50261f8..100ea9f1f 100644 --- a/src/AceTime.h +++ b/src/AceTime.h @@ -70,7 +70,7 @@ #include "zonedbc/zone_registry.h" // Version format: xxyyzz == "xx.yy.zz" -#define ACE_TIME_VERSION 20302 -#define ACE_TIME_VERSION_STRING "2.3.2" +#define ACE_TIME_VERSION 20400 +#define ACE_TIME_VERSION_STRING "2.4.0" #endif From cca556c7cfc6489589a5fd92cf964126bc4c93ed Mon Sep 17 00:00:00 2001 From: Brian Park Date: Fri, 13 Dec 2024 15:53:05 -0800 Subject: [PATCH 08/10] MemoryBenchmark: regenerate for 2.4.0 (TZDB 2024b) --- examples/MemoryBenchmark/README.md | 301 ++++++++++---------- examples/MemoryBenchmark/esp32.txt | 48 ++-- examples/MemoryBenchmark/esp8266.txt | 42 +-- examples/MemoryBenchmark/generate_readme.py | 31 +- examples/MemoryBenchmark/micro.txt | 28 +- examples/MemoryBenchmark/nano.txt | 28 +- examples/MemoryBenchmark/samd21.txt | 42 +-- examples/MemoryBenchmark/samd51.txt | 32 +-- examples/MemoryBenchmark/stm32.txt | 50 ++-- 9 files changed, 316 insertions(+), 286 deletions(-) diff --git a/examples/MemoryBenchmark/README.md b/examples/MemoryBenchmark/README.md index 86182b5eb..3a75d5b10 100644 --- a/examples/MemoryBenchmark/README.md +++ b/examples/MemoryBenchmark/README.md @@ -5,7 +5,7 @@ memory and static RAM sizes were recorded. The `FEATURE_BASELINE` selection is the baseline, and its memory usage numbers are subtracted from the subsequent `FEATURE_*` memory usage. -**Version**: AceTime v2.3.0 +**Version**: AceTime v2.4.0 **DO NOT EDIT**: This file was auto-generated using `make README.md`. @@ -272,6 +272,21 @@ ASCII table. * Increases flash memory for `zonedb` by ~150 bytes on 8-bit, ~200 on 32-bit processors. +**v2.4.0** +* Support %z format. +* Upgrade to TZDB 2024b. +* Upgrade Arduino CLI to 1.1.1 +* AVR: + * BasicZoneManager increases ~600 bytes + * ExtendedZoneManager increases ~700 bytes + * `zonedb` *decreases* ~400 bytes + * `zonedbx` *decreases* ~350 bytes +* ESP8266 + * BasicZoneManager increases ~500 bytes + * ExtendedZoneManager increases ~400 bytes + * `zonedb` *decreases* ~300 bytes + * `zonedbx` *decreases* ~100 kiB + # Legend * [1] Delta flash and ram consumption for `Basic ZoneSorterByName` and @@ -292,7 +307,7 @@ ASCII table. ## Arduino Nano * 16MHz ATmega328P -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Arduino AVR Boards 1.8.6 ``` @@ -305,23 +320,23 @@ ASCII table. | ZonedDateTime | 1444/ 30 | 970/ 19 | | Manual ZoneManager | 1406/ 13 | 932/ 2 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 7624/ 208 | 7150/ 197 | -| Basic TimeZone (2 zones) | 8170/ 357 | 7696/ 346 | -| BasicZoneManager (1 zone) | 7834/ 219 | 7360/ 208 | -| BasicZoneManager (all zones) | 19686/ 599 | 19212/ 588 | -| BasicZoneManager (all zones+links) | 25066/ 599 | 24592/ 588 | +| Basic TimeZone (1 zone) | 8238/ 225 | 7764/ 214 | +| Basic TimeZone (2 zones) | 8784/ 379 | 8310/ 368 | +| BasicZoneManager (1 zone) | 8448/ 236 | 7974/ 225 | +| BasicZoneManager (all zones) | 19646/ 386 | 19172/ 375 | +| BasicZoneManager (all zones+links) | 25254/ 386 | 24780/ 375 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 8608/ 221 | 774/ 2 | -| Basic ZoneSorterByOffsetAndName [1] | 8740/ 221 | 906/ 2 | +| Basic ZoneSorterByName [1] | 9222/ 238 | 774/ 2 | +| Basic ZoneSorterByOffsetAndName [1] | 9344/ 238 | 896/ 2 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 11326/ 623 | 10852/ 612 | -| Extended TimeZone (2 zones) | 11924/ 1187 | 11450/ 1176 | -| ExtendedZoneManager (1 zone) | 11506/ 629 | 11032/ 618 | -| ExtendedZoneManager (all zones) | 34508/ 1111 | 34034/ 1100 | -| ExtendedZoneManager (all zones+links) | 40540/ 1111 | 40066/ 1100 | +| Extended TimeZone (1 zone) | 12072/ 643 | 11598/ 632 | +| Extended TimeZone (2 zones) | 12670/ 1215 | 12196/ 1204 | +| ExtendedZoneManager (1 zone) | 12252/ 649 | 11778/ 638 | +| ExtendedZoneManager (all zones) | 34680/ 847 | 34206/ 836 | +| ExtendedZoneManager (all zones+links) | 40940/ 847 | 40466/ 836 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 12276/ 631 | 770/ 2 | -| Extended ZoneSorterByOffsetAndName [2] | 12360/ 631 | 854/ 2 | +| Extended ZoneSorterByName [2] | 13022/ 651 | 770/ 2 | +| Extended ZoneSorterByOffsetAndName [2] | 13116/ 651 | 864/ 2 | |----------------------------------------+--------------+--------------| | Complete TimeZone (1 zone) | -1/ -1 | -1/ -1 | | Complete TimeZone (2 zones) | -1/ -1 | -1/ -1 | @@ -338,7 +353,7 @@ ASCII table. ## Sparkfun Pro Micro * 16 MHz ATmega32U4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * SparkFun AVR Boards 1.1.13 ``` @@ -351,23 +366,23 @@ ASCII table. | ZonedDateTime | 4416/ 170 | 946/ 17 | | Manual ZoneManager | 4400/ 153 | 930/ 0 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 10596/ 348 | 7126/ 195 | -| Basic TimeZone (2 zones) | 11124/ 495 | 7654/ 342 | -| BasicZoneManager (1 zone) | 10806/ 359 | 7336/ 206 | -| BasicZoneManager (all zones) | 22656/ 737 | 19186/ 584 | -| BasicZoneManager (all zones+links) | 28036/ 737 | 24566/ 584 | +| Basic TimeZone (1 zone) | 11210/ 365 | 7740/ 212 | +| Basic TimeZone (2 zones) | 11738/ 517 | 8268/ 364 | +| BasicZoneManager (1 zone) | 11420/ 376 | 7950/ 223 | +| BasicZoneManager (all zones) | 22618/ 526 | 19148/ 373 | +| BasicZoneManager (all zones+links) | 28226/ 526 | 24756/ 373 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 11580/ 361 | 774/ 2 | -| Basic ZoneSorterByOffsetAndName [1] | 11712/ 361 | 906/ 2 | +| Basic ZoneSorterByName [1] | 12194/ 378 | 774/ 2 | +| Basic ZoneSorterByOffsetAndName [1] | 12316/ 378 | 896/ 2 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 14282/ 763 | 10812/ 610 | -| Extended TimeZone (2 zones) | 14878/ 1325 | 11408/ 1172 | -| ExtendedZoneManager (1 zone) | 14462/ 769 | 10992/ 616 | -| ExtendedZoneManager (all zones) | 37478/ 1249 | 34008/ 1096 | -| ExtendedZoneManager (all zones+links) | 43510/ 1249 | 40040/ 1096 | +| Extended TimeZone (1 zone) | 15028/ 783 | 11558/ 630 | +| Extended TimeZone (2 zones) | 15624/ 1353 | 12154/ 1200 | +| ExtendedZoneManager (1 zone) | 15208/ 789 | 11738/ 636 | +| ExtendedZoneManager (all zones) | 37652/ 987 | 34182/ 834 | +| ExtendedZoneManager (all zones+links) | 43912/ 987 | 40442/ 834 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 15232/ 771 | 770/ 2 | -| Extended ZoneSorterByOffsetAndName [2] | 15316/ 771 | 854/ 2 | +| Extended ZoneSorterByName [2] | 15978/ 791 | 770/ 2 | +| Extended ZoneSorterByOffsetAndName [2] | 16072/ 791 | 864/ 2 | |----------------------------------------+--------------+--------------| | Complete TimeZone (1 zone) | -1/ -1 | -1/ -1 | | Complete TimeZone (2 zones) | -1/ -1 | -1/ -1 | @@ -384,7 +399,7 @@ ASCII table. ## Seeed Studio XIAO SAMD21 * SAMD21, 48 MHz ARM Cortex-M0+ -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Seeeduino SAMD Boards 1.8.4 ``` @@ -397,32 +412,32 @@ ASCII table. | ZonedDateTime | 35116/ 0 | 1048/ 0 | | Manual ZoneManager | 35100/ 0 | 1032/ 0 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 38916/ 0 | 4848/ 0 | -| Basic TimeZone (2 zones) | 39276/ 0 | 5208/ 0 | -| BasicZoneManager (1 zone) | 39020/ 0 | 4952/ 0 | -| BasicZoneManager (all zones) | 54948/ 0 | 20880/ 0 | -| BasicZoneManager (all zones+links) | 63196/ 0 | 29128/ 0 | +| Basic TimeZone (1 zone) | 39204/ 0 | 5136/ 0 | +| Basic TimeZone (2 zones) | 39564/ 0 | 5496/ 0 | +| BasicZoneManager (1 zone) | 39308/ 0 | 5240/ 0 | +| BasicZoneManager (all zones) | 54588/ 0 | 20520/ 0 | +| BasicZoneManager (all zones+links) | 63212/ 0 | 29144/ 0 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 39508/ 0 | 488/ 0 | -| Basic ZoneSorterByOffsetAndName [1] | 39572/ 0 | 552/ 0 | +| Basic ZoneSorterByName [1] | 39804/ 0 | 496/ 0 | +| Basic ZoneSorterByOffsetAndName [1] | 39868/ 0 | 560/ 0 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 41028/ 0 | 6960/ 0 | -| Extended TimeZone (2 zones) | 41396/ 0 | 7328/ 0 | -| ExtendedZoneManager (1 zone) | 41132/ 0 | 7064/ 0 | -| ExtendedZoneManager (all zones) | 71796/ 0 | 37728/ 0 | -| ExtendedZoneManager (all zones+links) | 81020/ 0 | 46952/ 0 | +| Extended TimeZone (1 zone) | 41236/ 0 | 7168/ 0 | +| Extended TimeZone (2 zones) | 41596/ 0 | 7528/ 0 | +| ExtendedZoneManager (1 zone) | 41340/ 0 | 7272/ 0 | +| ExtendedZoneManager (all zones) | 71548/ 0 | 37480/ 0 | +| ExtendedZoneManager (all zones+links) | 81148/ 0 | 47080/ 0 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 41620/ 0 | 488/ 0 | -| Extended ZoneSorterByOffsetAndName [2] | 41684/ 0 | 552/ 0 | +| Extended ZoneSorterByName [2] | 41828/ 0 | 488/ 0 | +| Extended ZoneSorterByOffsetAndName [2] | 41892/ 0 | 552/ 0 | |----------------------------------------+--------------+--------------| -| Complete TimeZone (1 zone) | 41548/ 0 | 7480/ 0 | -| Complete TimeZone (2 zones) | 42780/ 0 | 8712/ 0 | -| CompleteZoneManager (1 zone) | 41652/ 0 | 7584/ 0 | -| CompleteZoneManager (all zones) | 121348/ 0 | 87280/ 0 | -| CompleteZoneManager (all zones+links) | 130580/ 0 | 96512/ 0 | +| Complete TimeZone (1 zone) | 41604/ 0 | 7536/ 0 | +| Complete TimeZone (2 zones) | 42828/ 0 | 8760/ 0 | +| CompleteZoneManager (1 zone) | 41708/ 0 | 7640/ 0 | +| CompleteZoneManager (all zones) | 120788/ 0 | 86720/ 0 | +| CompleteZoneManager (all zones+links) | 130388/ 0 | 96320/ 0 | |----------------------------------------+--------------+--------------| -| Complete ZoneSorterByName [3] | 42140/ 0 | 488/ 0 | -| Complete ZoneSorterByOffsetAndName [3] | 42196/ 0 | 544/ 0 | +| Complete ZoneSorterByName [3] | 42196/ 0 | 488/ 0 | +| Complete ZoneSorterByOffsetAndName [3] | 42252/ 0 | 544/ 0 | +---------------------------------------------------------------------+ ``` @@ -430,45 +445,45 @@ ASCII table. ## STM32 Blue Pill * STM32F103C8, 72 MHz ARM Cortex-M3 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * STM32duino 2.5.0 ``` +----------------------------------------------------------------------+ | Functionality | flash/ ram | delta | |----------------------------------------+--------------+--------------| -| baseline | 21492/ 3840 | 0/ 0 | +| baseline | 21348/ 4376 | 0/ 0 | |----------------------------------------+--------------+--------------| -| LocalDateTime | 21848/ 3856 | 356/ 16 | -| ZonedDateTime | 21928/ 3872 | 436/ 32 | -| Manual ZoneManager | 22504/ 3848 | 1012/ 8 | +| LocalDateTime | 21704/ 4392 | 356/ 16 | +| ZonedDateTime | 21784/ 4408 | 436/ 32 | +| Manual ZoneManager | 22360/ 4384 | 1012/ 8 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 26308/ 4056 | 4816/ 216 | -| Basic TimeZone (2 zones) | 26680/ 4264 | 5188/ 424 | -| BasicZoneManager (1 zone) | 26428/ 4076 | 4936/ 236 | -| BasicZoneManager (all zones) | 42732/ 4076 | 21240/ 236 | -| BasicZoneManager (all zones+links) | 51264/ 4076 | 29772/ 236 | +| Basic TimeZone (1 zone) | 26404/ 4592 | 5056/ 216 | +| Basic TimeZone (2 zones) | 26776/ 4800 | 5428/ 424 | +| BasicZoneManager (1 zone) | 26524/ 4612 | 5176/ 236 | +| BasicZoneManager (all zones) | 42180/ 4612 | 20832/ 236 | +| BasicZoneManager (all zones+links) | 51080/ 4612 | 29732/ 236 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 26896/ 4080 | 468/ 4 | -| Basic ZoneSorterByOffsetAndName [1] | 26972/ 4080 | 544/ 4 | +| Basic ZoneSorterByName [1] | 26992/ 4616 | 468/ 4 | +| Basic ZoneSorterByOffsetAndName [1] | 27076/ 4616 | 552/ 4 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 28176/ 4580 | 6684/ 740 | -| Extended TimeZone (2 zones) | 28548/ 5312 | 7056/ 1472 | -| ExtendedZoneManager (1 zone) | 28292/ 4588 | 6800/ 748 | -| ExtendedZoneManager (all zones) | 59532/ 4588 | 38040/ 748 | -| ExtendedZoneManager (all zones+links) | 69104/ 4588 | 47612/ 748 | +| Extended TimeZone (1 zone) | 28188/ 5148 | 6840/ 772 | +| Extended TimeZone (2 zones) | 28564/ 5912 | 7216/ 1536 | +| ExtendedZoneManager (1 zone) | 28304/ 5156 | 6956/ 780 | +| ExtendedZoneManager (all zones) | 59096/ 5156 | 37748/ 780 | +| ExtendedZoneManager (all zones+links) | 69040/ 5156 | 47692/ 780 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 28756/ 4592 | 464/ 4 | -| Extended ZoneSorterByOffsetAndName [2] | 28828/ 4592 | 536/ 4 | +| Extended ZoneSorterByName [2] | 28768/ 5160 | 464/ 4 | +| Extended ZoneSorterByOffsetAndName [2] | 28840/ 5160 | 536/ 4 | |----------------------------------------+--------------+--------------| -| Complete TimeZone (1 zone) | 28712/ 4580 | 7220/ 740 | -| Complete TimeZone (2 zones) | 29948/ 5312 | 8456/ 1472 | -| CompleteZoneManager (1 zone) | 28828/ 4588 | 7336/ 748 | -| CompleteZoneManager (all zones) | 108964/ 4588 | 87472/ 748 | -| CompleteZoneManager (all zones+links) | 118536/ 4588 | 97044/ 748 | +| Complete TimeZone (1 zone) | 28568/ 5148 | 7220/ 772 | +| Complete TimeZone (2 zones) | 29804/ 5912 | 8456/ 1536 | +| CompleteZoneManager (1 zone) | 28684/ 5156 | 7336/ 780 | +| CompleteZoneManager (all zones) | 108204/ 5156 | 86856/ 780 | +| CompleteZoneManager (all zones+links) | 118148/ 5156 | 96800/ 780 | |----------------------------------------+--------------+--------------| -| Complete ZoneSorterByName [3] | 29292/ 4592 | 464/ 4 | -| Complete ZoneSorterByOffsetAndName [3] | 29364/ 4592 | 536/ 4 | +| Complete ZoneSorterByName [3] | 29148/ 5160 | 464/ 4 | +| Complete ZoneSorterByOffsetAndName [3] | 29220/ 5160 | 536/ 4 | +---------------------------------------------------------------------+ ``` @@ -476,7 +491,7 @@ ASCII table. ## SAMD51 (Adafruit ItsyBitsy M4) * SAMD51, 120 MHz ARM Cortex-M4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Adafruit SAMD 1.7.11 ``` @@ -489,29 +504,29 @@ ASCII table. | ZonedDateTime | 11544/ 0 | 964/ 0 | | Manual ZoneManager | 11536/ 0 | 956/ 0 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 15388/ 0 | 4808/ 0 | -| Basic TimeZone (2 zones) | 15756/ 0 | 5176/ 0 | -| BasicZoneManager (1 zone) | 15508/ 0 | 4928/ 0 | -| BasicZoneManager (all zones) | 31444/ 0 | 20864/ 0 | -| BasicZoneManager (all zones+links) | 39692/ 0 | 29112/ 0 | +| Basic TimeZone (1 zone) | 15640/ 0 | 5060/ 0 | +| Basic TimeZone (2 zones) | 16008/ 0 | 5428/ 0 | +| BasicZoneManager (1 zone) | 15760/ 0 | 5180/ 0 | +| BasicZoneManager (all zones) | 31044/ 0 | 20464/ 0 | +| BasicZoneManager (all zones+links) | 39664/ 0 | 29084/ 0 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 15996/ 0 | 488/ 0 | -| Basic ZoneSorterByOffsetAndName [1] | 16048/ 0 | 540/ 0 | +| Basic ZoneSorterByName [1] | 16248/ 0 | 488/ 0 | +| Basic ZoneSorterByOffsetAndName [1] | 16300/ 0 | 540/ 0 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 17296/ 0 | 6716/ 0 | -| Extended TimeZone (2 zones) | 17672/ 0 | 7092/ 0 | -| ExtendedZoneManager (1 zone) | 17412/ 0 | 6832/ 0 | -| ExtendedZoneManager (all zones) | 48076/ 0 | 37496/ 0 | -| ExtendedZoneManager (all zones+links) | 57304/ 0 | 46724/ 0 | +| Extended TimeZone (1 zone) | 17452/ 0 | 6872/ 0 | +| Extended TimeZone (2 zones) | 17828/ 0 | 7248/ 0 | +| ExtendedZoneManager (1 zone) | 17568/ 0 | 6988/ 0 | +| ExtendedZoneManager (all zones) | 47784/ 0 | 37204/ 0 | +| ExtendedZoneManager (all zones+links) | 57384/ 0 | 46804/ 0 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 17900/ 0 | 488/ 0 | -| Extended ZoneSorterByOffsetAndName [2] | 17952/ 0 | 540/ 0 | +| Extended ZoneSorterByName [2] | 18056/ 0 | 488/ 0 | +| Extended ZoneSorterByOffsetAndName [2] | 18108/ 0 | 540/ 0 | |----------------------------------------+--------------+--------------| | Complete TimeZone (1 zone) | 17792/ 0 | 7212/ 0 | | Complete TimeZone (2 zones) | 19028/ 0 | 8448/ 0 | | CompleteZoneManager (1 zone) | 17908/ 0 | 7328/ 0 | -| CompleteZoneManager (all zones) | 97608/ 0 | 87028/ 0 | -| CompleteZoneManager (all zones+links) | 106840/ 0 | 96260/ 0 | +| CompleteZoneManager (all zones) | 96988/ 0 | 86408/ 0 | +| CompleteZoneManager (all zones+links) | 106596/ 0 | 96016/ 0 | |----------------------------------------+--------------+--------------| | Complete ZoneSorterByName [3] | 18396/ 0 | 488/ 0 | | Complete ZoneSorterByOffsetAndName [3] | 18444/ 0 | 536/ 0 | @@ -522,7 +537,7 @@ ASCII table. ## ESP8266 * NodeMCU 1.0, 80MHz ESP8266 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP8266 Boards 3.0.2 ``` @@ -535,32 +550,32 @@ ASCII table. | ZonedDateTime | 261573/27928 | 1484/ 36 | | Manual ZoneManager | 261553/27900 | 1464/ 8 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 267117/28528 | 7028/ 636 | -| Basic TimeZone (2 zones) | 267533/28736 | 7444/ 844 | -| BasicZoneManager (1 zone) | 267277/28552 | 7188/ 660 | -| BasicZoneManager (all zones) | 283613/28552 | 23524/ 660 | -| BasicZoneManager (all zones+links) | 292141/28552 | 32052/ 660 | +| Basic TimeZone (1 zone) | 267625/28292 | 7536/ 400 | +| Basic TimeZone (2 zones) | 268025/28500 | 7936/ 608 | +| BasicZoneManager (1 zone) | 267785/28316 | 7696/ 424 | +| BasicZoneManager (all zones) | 283465/28316 | 23376/ 424 | +| BasicZoneManager (all zones+links) | 292361/28316 | 32272/ 424 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 268029/28552 | 752/ 0 | -| Basic ZoneSorterByOffsetAndName [1] | 268157/28552 | 880/ 0 | +| Basic ZoneSorterByName [1] | 268521/28316 | 736/ 0 | +| Basic ZoneSorterByOffsetAndName [1] | 268665/28316 | 880/ 0 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 269653/29152 | 9564/ 1260 | -| Extended TimeZone (2 zones) | 270069/29880 | 9980/ 1988 | -| ExtendedZoneManager (1 zone) | 269813/29160 | 9724/ 1268 | -| ExtendedZoneManager (all zones) | 301077/29160 | 40988/ 1268 | -| ExtendedZoneManager (all zones+links) | 310645/29160 | 50556/ 1268 | +| Extended TimeZone (1 zone) | 270073/28900 | 9984/ 1008 | +| Extended TimeZone (2 zones) | 270489/29660 | 10400/ 1768 | +| ExtendedZoneManager (1 zone) | 270217/28908 | 10128/ 1016 | +| ExtendedZoneManager (all zones) | 301033/28908 | 40944/ 1016 | +| ExtendedZoneManager (all zones+links) | 310985/28908 | 50896/ 1016 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 270549/29160 | 736/ 0 | -| Extended ZoneSorterByOffsetAndName [2] | 270613/29160 | 800/ 0 | +| Extended ZoneSorterByName [2] | 270969/28908 | 752/ 0 | +| Extended ZoneSorterByOffsetAndName [2] | 271017/28908 | 800/ 0 | |----------------------------------------+--------------+--------------| -| Complete TimeZone (1 zone) | 270145/29508 | 10056/ 1616 | -| Complete TimeZone (2 zones) | 271425/30236 | 11336/ 2344 | -| CompleteZoneManager (1 zone) | 270289/29516 | 10200/ 1624 | -| CompleteZoneManager (all zones) | 350449/29516 | 90360/ 1624 | -| CompleteZoneManager (all zones+links) | 360017/29516 | 99928/ 1624 | +| Complete TimeZone (1 zone) | 270393/29092 | 10304/ 1200 | +| Complete TimeZone (2 zones) | 271673/29852 | 11584/ 1960 | +| CompleteZoneManager (1 zone) | 270537/29100 | 10448/ 1208 | +| CompleteZoneManager (all zones) | 350089/29100 | 90000/ 1208 | +| CompleteZoneManager (all zones+links) | 360041/29100 | 99952/ 1208 | |----------------------------------------+--------------+--------------| -| Complete ZoneSorterByName [3] | 271041/29516 | 752/ 0 | -| Complete ZoneSorterByOffsetAndName [3] | 271089/29516 | 800/ 0 | +| Complete ZoneSorterByName [3] | 271289/29100 | 752/ 0 | +| Complete ZoneSorterByOffsetAndName [3] | 271337/29100 | 800/ 0 | +---------------------------------------------------------------------+ ``` @@ -568,7 +583,7 @@ ASCII table. ## ESP32 * ESP32-01 Dev Board, 240 MHz Tensilica LX6 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP32 Boards 2.0.9 ``` @@ -577,36 +592,36 @@ ASCII table. |----------------------------------------+--------------+--------------| | baseline | 228345/21976 | 0/ 0 | |----------------------------------------+--------------+--------------| -| LocalDateTime | 230757/21984 | 2412/ 8 | -| ZonedDateTime | 231737/22000 | 3392/ 24 | -| Manual ZoneManager | 231749/21976 | 3404/ 0 | +| LocalDateTime | 230805/21984 | 2460/ 8 | +| ZonedDateTime | 231785/22000 | 3440/ 24 | +| Manual ZoneManager | 231797/21976 | 3452/ 0 | |----------------------------------------+--------------+--------------| -| Basic TimeZone (1 zone) | 235929/22184 | 7584/ 208 | -| Basic TimeZone (2 zones) | 236365/22392 | 8020/ 416 | -| BasicZoneManager (1 zone) | 236097/22208 | 7752/ 232 | -| BasicZoneManager (all zones) | 252401/22208 | 24056/ 232 | -| BasicZoneManager (all zones+links) | 260929/22208 | 32584/ 232 | +| Basic TimeZone (1 zone) | 236409/22184 | 8064/ 208 | +| Basic TimeZone (2 zones) | 236845/22392 | 8500/ 416 | +| BasicZoneManager (1 zone) | 236561/22208 | 8216/ 232 | +| BasicZoneManager (all zones) | 252225/22208 | 23880/ 232 | +| BasicZoneManager (all zones+links) | 261121/22208 | 32776/ 232 | |----------------------------------------+--------------+--------------| -| Basic ZoneSorterByName [1] | 236649/22208 | 552/ 0 | -| Basic ZoneSorterByOffsetAndName [1] | 236729/22208 | 632/ 0 | +| Basic ZoneSorterByName [1] | 237113/22208 | 552/ 0 | +| Basic ZoneSorterByOffsetAndName [1] | 237193/22208 | 632/ 0 | |----------------------------------------+--------------+--------------| -| Extended TimeZone (1 zone) | 238173/22712 | 9828/ 736 | -| Extended TimeZone (2 zones) | 238577/23440 | 10232/ 1464 | -| ExtendedZoneManager (1 zone) | 238309/22720 | 9964/ 744 | -| ExtendedZoneManager (all zones) | 269541/22720 | 41196/ 744 | -| ExtendedZoneManager (all zones+links) | 279125/22720 | 50780/ 744 | +| Extended TimeZone (1 zone) | 238521/22744 | 10176/ 768 | +| Extended TimeZone (2 zones) | 238941/23504 | 10596/ 1528 | +| ExtendedZoneManager (1 zone) | 238657/22752 | 10312/ 776 | +| ExtendedZoneManager (all zones) | 269457/22752 | 41112/ 776 | +| ExtendedZoneManager (all zones+links) | 279393/22752 | 51048/ 776 | |----------------------------------------+--------------+--------------| -| Extended ZoneSorterByName [2] | 238861/22720 | 552/ 0 | -| Extended ZoneSorterByOffsetAndName [2] | 238937/22720 | 628/ 0 | +| Extended ZoneSorterByName [2] | 239209/22752 | 552/ 0 | +| Extended ZoneSorterByOffsetAndName [2] | 239285/22752 | 628/ 0 | |----------------------------------------+--------------+--------------| -| Complete TimeZone (1 zone) | 238669/22712 | 10324/ 736 | -| Complete TimeZone (2 zones) | 239941/23440 | 11596/ 1464 | -| CompleteZoneManager (1 zone) | 238805/22720 | 10460/ 744 | -| CompleteZoneManager (all zones) | 318933/22720 | 90588/ 744 | -| CompleteZoneManager (all zones+links) | 328501/22720 | 100156/ 744 | +| Complete TimeZone (1 zone) | 238857/22744 | 10512/ 768 | +| Complete TimeZone (2 zones) | 240129/23504 | 11784/ 1528 | +| CompleteZoneManager (1 zone) | 238993/22752 | 10648/ 776 | +| CompleteZoneManager (all zones) | 318513/22752 | 90168/ 776 | +| CompleteZoneManager (all zones+links) | 328465/22752 | 100120/ 776 | |----------------------------------------+--------------+--------------| -| Complete ZoneSorterByName [3] | 239357/22720 | 552/ 0 | -| Complete ZoneSorterByOffsetAndName [3] | 239429/22720 | 624/ 0 | +| Complete ZoneSorterByName [3] | 239545/22752 | 552/ 0 | +| Complete ZoneSorterByOffsetAndName [3] | 239617/22752 | 624/ 0 | +---------------------------------------------------------------------+ ``` diff --git a/examples/MemoryBenchmark/esp32.txt b/examples/MemoryBenchmark/esp32.txt index 15f022d06..db860eb63 100644 --- a/examples/MemoryBenchmark/esp32.txt +++ b/examples/MemoryBenchmark/esp32.txt @@ -1,25 +1,25 @@ 0 228345 1310720 21976 327680 -1 230757 1310720 21984 327680 -2 231737 1310720 22000 327680 -3 231749 1310720 21976 327680 -4 235929 1310720 22184 327680 -5 236365 1310720 22392 327680 -6 236097 1310720 22208 327680 -7 252401 1310720 22208 327680 -8 260929 1310720 22208 327680 -9 236649 1310720 22208 327680 -10 236729 1310720 22208 327680 -11 238173 1310720 22712 327680 -12 238577 1310720 23440 327680 -13 238309 1310720 22720 327680 -14 269541 1310720 22720 327680 -15 279125 1310720 22720 327680 -16 238861 1310720 22720 327680 -17 238937 1310720 22720 327680 -18 238669 1310720 22712 327680 -19 239941 1310720 23440 327680 -20 238805 1310720 22720 327680 -21 318933 1310720 22720 327680 -22 328501 1310720 22720 327680 -23 239357 1310720 22720 327680 -24 239429 1310720 22720 327680 +1 230805 1310720 21984 327680 +2 231785 1310720 22000 327680 +3 231797 1310720 21976 327680 +4 236409 1310720 22184 327680 +5 236845 1310720 22392 327680 +6 236561 1310720 22208 327680 +7 252225 1310720 22208 327680 +8 261121 1310720 22208 327680 +9 237113 1310720 22208 327680 +10 237193 1310720 22208 327680 +11 238521 1310720 22744 327680 +12 238941 1310720 23504 327680 +13 238657 1310720 22752 327680 +14 269457 1310720 22752 327680 +15 279393 1310720 22752 327680 +16 239209 1310720 22752 327680 +17 239285 1310720 22752 327680 +18 238857 1310720 22744 327680 +19 240129 1310720 23504 327680 +20 238993 1310720 22752 327680 +21 318513 1310720 22752 327680 +22 328465 1310720 22752 327680 +23 239545 1310720 22752 327680 +24 239617 1310720 22752 327680 diff --git a/examples/MemoryBenchmark/esp8266.txt b/examples/MemoryBenchmark/esp8266.txt index 3c49a3940..91658dad8 100644 --- a/examples/MemoryBenchmark/esp8266.txt +++ b/examples/MemoryBenchmark/esp8266.txt @@ -2,24 +2,24 @@ 1 260613 1044464 27912 81920 2 261573 1044464 27928 81920 3 261553 1044464 27900 81920 -4 267117 1044464 28528 81920 -5 267533 1044464 28736 81920 -6 267277 1044464 28552 81920 -7 283613 1044464 28552 81920 -8 292141 1044464 28552 81920 -9 268029 1044464 28552 81920 -10 268157 1044464 28552 81920 -11 269653 1044464 29152 81920 -12 270069 1044464 29880 81920 -13 269813 1044464 29160 81920 -14 301077 1044464 29160 81920 -15 310645 1044464 29160 81920 -16 270549 1044464 29160 81920 -17 270613 1044464 29160 81920 -18 270145 1044464 29508 81920 -19 271425 1044464 30236 81920 -20 270289 1044464 29516 81920 -21 350449 1044464 29516 81920 -22 360017 1044464 29516 81920 -23 271041 1044464 29516 81920 -24 271089 1044464 29516 81920 +4 267625 1044464 28292 81920 +5 268025 1044464 28500 81920 +6 267785 1044464 28316 81920 +7 283465 1044464 28316 81920 +8 292361 1044464 28316 81920 +9 268521 1044464 28316 81920 +10 268665 1044464 28316 81920 +11 270073 1044464 28900 81920 +12 270489 1044464 29660 81920 +13 270217 1044464 28908 81920 +14 301033 1044464 28908 81920 +15 310985 1044464 28908 81920 +16 270969 1044464 28908 81920 +17 271017 1044464 28908 81920 +18 270393 1044464 29092 81920 +19 271673 1044464 29852 81920 +20 270537 1044464 29100 81920 +21 350089 1044464 29100 81920 +22 360041 1044464 29100 81920 +23 271289 1044464 29100 81920 +24 271337 1044464 29100 81920 diff --git a/examples/MemoryBenchmark/generate_readme.py b/examples/MemoryBenchmark/generate_readme.py index f5b0c94f3..140afde57 100755 --- a/examples/MemoryBenchmark/generate_readme.py +++ b/examples/MemoryBenchmark/generate_readme.py @@ -29,7 +29,7 @@ the baseline, and its memory usage numbers are subtracted from the subsequent `FEATURE_*` memory usage. -**Version**: AceTime v2.3.0 +**Version**: AceTime v2.4.0 **DO NOT EDIT**: This file was auto-generated using `make README.md`. @@ -296,6 +296,21 @@ * Increases flash memory for `zonedb` by ~150 bytes on 8-bit, ~200 on 32-bit processors. +**v2.4.0** +* Support %z format. +* Upgrade to TZDB 2024b. +* Upgrade Arduino CLI to 1.1.1 +* AVR: + * BasicZoneManager increases ~600 bytes + * ExtendedZoneManager increases ~700 bytes + * `zonedb` *decreases* ~400 bytes + * `zonedbx` *decreases* ~350 bytes +* ESP8266 + * BasicZoneManager increases ~500 bytes + * ExtendedZoneManager increases ~400 bytes + * `zonedb` *decreases* ~300 bytes + * `zonedbx` *decreases* ~100 kiB + # Legend * [1] Delta flash and ram consumption for `Basic ZoneSorterByName` and @@ -316,7 +331,7 @@ ## Arduino Nano * 16MHz ATmega328P -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Arduino AVR Boards 1.8.6 ``` @@ -326,7 +341,7 @@ ## Sparkfun Pro Micro * 16 MHz ATmega32U4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * SparkFun AVR Boards 1.1.13 ``` @@ -336,7 +351,7 @@ ## Seeed Studio XIAO SAMD21 * SAMD21, 48 MHz ARM Cortex-M0+ -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Seeeduino SAMD Boards 1.8.4 ``` @@ -346,7 +361,7 @@ ## STM32 Blue Pill * STM32F103C8, 72 MHz ARM Cortex-M3 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * STM32duino 2.5.0 ``` @@ -356,7 +371,7 @@ ## SAMD51 (Adafruit ItsyBitsy M4) * SAMD51, 120 MHz ARM Cortex-M4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Adafruit SAMD 1.7.11 ``` @@ -366,7 +381,7 @@ ## ESP8266 * NodeMCU 1.0, 80MHz ESP8266 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP8266 Boards 3.0.2 ``` @@ -376,7 +391,7 @@ ## ESP32 * ESP32-01 Dev Board, 240 MHz Tensilica LX6 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP32 Boards 2.0.9 ``` diff --git a/examples/MemoryBenchmark/micro.txt b/examples/MemoryBenchmark/micro.txt index 45feb6856..98bf6e854 100644 --- a/examples/MemoryBenchmark/micro.txt +++ b/examples/MemoryBenchmark/micro.txt @@ -2,20 +2,20 @@ 1 4080 28672 161 2560 2 4416 28672 170 2560 3 4400 28672 153 2560 -4 10596 28672 348 2560 -5 11124 28672 495 2560 -6 10806 28672 359 2560 -7 22656 28672 737 2560 -8 28036 28672 737 2560 -9 11580 28672 361 2560 -10 11712 28672 361 2560 -11 14282 28672 763 2560 -12 14878 28672 1325 2560 -13 14462 28672 769 2560 -14 37478 28672 1249 2560 -15 43510 28672 1249 2560 -16 15232 28672 771 2560 -17 15316 28672 771 2560 +4 11210 28672 365 2560 +5 11738 28672 517 2560 +6 11420 28672 376 2560 +7 22618 28672 526 2560 +8 28226 28672 526 2560 +9 12194 28672 378 2560 +10 12316 28672 378 2560 +11 15028 28672 783 2560 +12 15624 28672 1353 2560 +13 15208 28672 789 2560 +14 37652 28672 987 2560 +15 43912 28672 987 2560 +16 15978 28672 791 2560 +17 16072 28672 791 2560 18 -1 -1 -1 -1 19 -1 -1 -1 -1 20 -1 -1 -1 -1 diff --git a/examples/MemoryBenchmark/nano.txt b/examples/MemoryBenchmark/nano.txt index 8fdcd72fc..057fa1886 100644 --- a/examples/MemoryBenchmark/nano.txt +++ b/examples/MemoryBenchmark/nano.txt @@ -2,20 +2,20 @@ 1 1108 30720 21 2048 2 1444 30720 30 2048 3 1406 30720 13 2048 -4 7624 30720 208 2048 -5 8170 30720 357 2048 -6 7834 30720 219 2048 -7 19686 30720 599 2048 -8 25066 30720 599 2048 -9 8608 30720 221 2048 -10 8740 30720 221 2048 -11 11326 30720 623 2048 -12 11924 30720 1187 2048 -13 11506 30720 629 2048 -14 34508 30720 1111 2048 -15 40540 30720 1111 2048 -16 12276 30720 631 2048 -17 12360 30720 631 2048 +4 8238 30720 225 2048 +5 8784 30720 379 2048 +6 8448 30720 236 2048 +7 19646 30720 386 2048 +8 25254 30720 386 2048 +9 9222 30720 238 2048 +10 9344 30720 238 2048 +11 12072 30720 643 2048 +12 12670 30720 1215 2048 +13 12252 30720 649 2048 +14 34680 30720 847 2048 +15 40940 30720 847 2048 +16 13022 30720 651 2048 +17 13116 30720 651 2048 18 -1 -1 -1 -1 19 -1 -1 -1 -1 20 -1 -1 -1 -1 diff --git a/examples/MemoryBenchmark/samd21.txt b/examples/MemoryBenchmark/samd21.txt index 6edec3937..8ce86d195 100644 --- a/examples/MemoryBenchmark/samd21.txt +++ b/examples/MemoryBenchmark/samd21.txt @@ -2,24 +2,24 @@ 1 34372 262144 2 35116 262144 3 35100 262144 -4 38916 262144 -5 39276 262144 -6 39020 262144 -7 54948 262144 -8 63196 262144 -9 39508 262144 -10 39572 262144 -11 41028 262144 -12 41396 262144 -13 41132 262144 -14 71796 262144 -15 81020 262144 -16 41620 262144 -17 41684 262144 -18 41548 262144 -19 42780 262144 -20 41652 262144 -21 121348 262144 -22 130580 262144 -23 42140 262144 -24 42196 262144 +4 39204 262144 +5 39564 262144 +6 39308 262144 +7 54588 262144 +8 63212 262144 +9 39804 262144 +10 39868 262144 +11 41236 262144 +12 41596 262144 +13 41340 262144 +14 71548 262144 +15 81148 262144 +16 41828 262144 +17 41892 262144 +18 41604 262144 +19 42828 262144 +20 41708 262144 +21 120788 262144 +22 130388 262144 +23 42196 262144 +24 42252 262144 diff --git a/examples/MemoryBenchmark/samd51.txt b/examples/MemoryBenchmark/samd51.txt index c3f040fe2..5d0d3c382 100644 --- a/examples/MemoryBenchmark/samd51.txt +++ b/examples/MemoryBenchmark/samd51.txt @@ -2,24 +2,24 @@ 1 10872 507904 2 11544 507904 3 11536 507904 -4 15388 507904 -5 15756 507904 -6 15508 507904 -7 31444 507904 -8 39692 507904 -9 15996 507904 -10 16048 507904 -11 17296 507904 -12 17672 507904 -13 17412 507904 -14 48076 507904 -15 57304 507904 -16 17900 507904 -17 17952 507904 +4 15640 507904 +5 16008 507904 +6 15760 507904 +7 31044 507904 +8 39664 507904 +9 16248 507904 +10 16300 507904 +11 17452 507904 +12 17828 507904 +13 17568 507904 +14 47784 507904 +15 57384 507904 +16 18056 507904 +17 18108 507904 18 17792 507904 19 19028 507904 20 17908 507904 -21 97608 507904 -22 106840 507904 +21 96988 507904 +22 106596 507904 23 18396 507904 24 18444 507904 diff --git a/examples/MemoryBenchmark/stm32.txt b/examples/MemoryBenchmark/stm32.txt index 93c5cc6a3..5826ea7a6 100644 --- a/examples/MemoryBenchmark/stm32.txt +++ b/examples/MemoryBenchmark/stm32.txt @@ -1,25 +1,25 @@ -0 21492 131072 3840 20480 -1 21848 131072 3856 20480 -2 21928 131072 3872 20480 -3 22504 131072 3848 20480 -4 26308 131072 4056 20480 -5 26680 131072 4264 20480 -6 26428 131072 4076 20480 -7 42732 131072 4076 20480 -8 51264 131072 4076 20480 -9 26896 131072 4080 20480 -10 26972 131072 4080 20480 -11 28176 131072 4580 20480 -12 28548 131072 5312 20480 -13 28292 131072 4588 20480 -14 59532 131072 4588 20480 -15 69104 131072 4588 20480 -16 28756 131072 4592 20480 -17 28828 131072 4592 20480 -18 28712 131072 4580 20480 -19 29948 131072 5312 20480 -20 28828 131072 4588 20480 -21 108964 131072 4588 20480 -22 118536 131072 4588 20480 -23 29292 131072 4592 20480 -24 29364 131072 4592 20480 +0 21348 131072 4376 20480 +1 21704 131072 4392 20480 +2 21784 131072 4408 20480 +3 22360 131072 4384 20480 +4 26404 131072 4592 20480 +5 26776 131072 4800 20480 +6 26524 131072 4612 20480 +7 42180 131072 4612 20480 +8 51080 131072 4612 20480 +9 26992 131072 4616 20480 +10 27076 131072 4616 20480 +11 28188 131072 5148 20480 +12 28564 131072 5912 20480 +13 28304 131072 5156 20480 +14 59096 131072 5156 20480 +15 69040 131072 5156 20480 +16 28768 131072 5160 20480 +17 28840 131072 5160 20480 +18 28568 131072 5148 20480 +19 29804 131072 5912 20480 +20 28684 131072 5156 20480 +21 108204 131072 5156 20480 +22 118148 131072 5156 20480 +23 29148 131072 5160 20480 +24 29220 131072 5160 20480 From a844b67e69c2cf88d2a96c950f2fecb9dfc321f8 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Fri, 13 Dec 2024 17:01:15 -0800 Subject: [PATCH 09/10] AutoBenchmark: regenerate for 2.4.0 (TZDB 2024b) --- examples/AutoBenchmark/AutoBenchmark.ino | 2 +- examples/AutoBenchmark/README.md | 538 ++++++++++++---------- examples/AutoBenchmark/esp32.txt | 74 +-- examples/AutoBenchmark/esp8266.txt | 88 ++-- examples/AutoBenchmark/generate_readme.py | 25 +- examples/AutoBenchmark/micro.txt | 48 +- examples/AutoBenchmark/nano.txt | 46 +- examples/AutoBenchmark/samd21.txt | 86 ++-- examples/AutoBenchmark/samd51.txt | 70 +-- examples/AutoBenchmark/stm32.txt | 68 +-- 10 files changed, 552 insertions(+), 493 deletions(-) diff --git a/examples/AutoBenchmark/AutoBenchmark.ino b/examples/AutoBenchmark/AutoBenchmark.ino index 567d6b338..bb884eb14 100644 --- a/examples/AutoBenchmark/AutoBenchmark.ino +++ b/examples/AutoBenchmark/AutoBenchmark.ino @@ -13,7 +13,7 @@ using namespace ace_time; void setup() { #if ! defined(EPOXY_DUINO) - delay(2000); // ESP8266, ESP32 now require 2000 instead of 1000 + delay(8000); // STM32, ESP8266, ESP32 now require > 5000ms instead of 1000ms #endif SERIAL_PORT_MONITOR.begin(115200); diff --git a/examples/AutoBenchmark/README.md b/examples/AutoBenchmark/README.md index 103e97167..5f55c7490 100644 --- a/examples/AutoBenchmark/README.md +++ b/examples/AutoBenchmark/README.md @@ -4,7 +4,7 @@ Here are the results from `AutoBenchmark.ino` for various boards. These results show that integer division and modulus operations are incredibly slow on 8-bit AVR processors. -**Version**: AceTime v2.3.0 +**Version**: AceTime v2.4.0 **NOTE**: This file was auto-generated using `make README.md`. DO NOT EDIT. @@ -31,7 +31,7 @@ USB hub with individually controlled switch. 2. Type `$ auniter ports` to determine its `/dev/ttyXXX` port number (e.g. `/dev/ttyUSB0` or `/dev/ttyACM0`). 3. If the port is `USB0` or `ACM0`, type `$ make nano.txt`, etc. -4. Switch off the old microontroller. +4. Switch off the old microcontroller. 5. Go to Step 1 and repeat for each microcontroller. The `generate_table.awk` program reads one of `*.txt` files and prints out an @@ -200,16 +200,21 @@ The CPU times below are given in microseconds. * ESP32 Boards 2.0.9 **v2.3.0** - * Add benchmarks for `CompleteZoneProcessor` and related classes * Replace labels of `BasicZoneManager::createForXxx()` with `BasicZoneRegistrar::findIndexForXxx()`, because those are the methods which are actually being tested. +**v2.4.0** +* Support %z format. +* Upgrade to TZDB 2024b. +* Upgrade Arduino CLI to 1.1.1 +* Almost no change in execution times. + ## Arduino Nano * 16MHz ATmega328P -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Arduino AVR Boards 1.8.6 ``` @@ -222,7 +227,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 5 sizeof(TimeZoneData): 5 sizeof(ZonedDateTime): 17 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 25 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 20 @@ -231,10 +236,10 @@ Basic: sizeof(basic::ZoneRule): 9 sizeof(basic::ZonePolicy): 3 sizeof(basic::ZoneRegistrar): 5 - sizeof(BasicZoneProcessor): 143 - sizeof(BasicZoneProcessorCache<1>): 147 + sizeof(BasicZoneProcessor): 148 + sizeof(BasicZoneProcessorCache<1>): 152 sizeof(BasicZoneManager): 7 - sizeof(BasicZoneProcessor::Transition): 26 + sizeof(BasicZoneProcessor::Transition): 27 Extended: sizeof(extended::ZoneContext): 20 sizeof(extended::ZoneEra): 11 @@ -242,11 +247,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 3 sizeof(extended::ZoneRegistrar): 5 - sizeof(ExtendedZoneProcessor): 553 - sizeof(ExtendedZoneProcessorCache<1>): 557 + sizeof(ExtendedZoneProcessor): 561 + sizeof(ExtendedZoneProcessorCache<1>): 565 sizeof(ExtendedZoneManager): 7 - sizeof(ExtendedZoneProcessor::Transition): 49 - sizeof(ExtendedZoneProcessor::TransitionStorage): 412 + sizeof(ExtendedZoneProcessor::Transition): 50 + sizeof(ExtendedZoneProcessor::TransitionStorage): 420 sizeof(ExtendedZoneProcessor::MatchingEra): 32 Complete: sizeof(complete::ZoneContext): 20 @@ -255,11 +260,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 3 sizeof(complete::ZoneRegistrar): 5 - sizeof(CompleteZoneProcessor): 553 - sizeof(CompleteZoneProcessorCache<1>): 557 + sizeof(CompleteZoneProcessor): 561 + sizeof(CompleteZoneProcessorCache<1>): 565 sizeof(CompleteZoneManager): 7 - sizeof(CompleteZoneProcessor::Transition): 49 - sizeof(CompleteZoneProcessor::TransitionStorage): 412 + sizeof(CompleteZoneProcessor::Transition): 50 + sizeof(CompleteZoneProcessor::TransitionStorage): 420 sizeof(CompleteZoneProcessor::MatchingEra): 32 CPU: @@ -273,43 +278,43 @@ CPU: | LocalDate::dayOfWeek() | 49.000 | |--------------------------------------------------+----------| | OffsetDateTime::forEpochSeconds() | 361.000 | -| OffsetDateTime::toEpochSeconds() | 78.000 | +| OffsetDateTime::toEpochSeconds() | 77.000 | |--------------------------------------------------+----------| | ZonedDateTime::toEpochSeconds() | 75.000 | | ZonedDateTime::toEpochDays() | 63.000 | | ZonedDateTime::forEpochSeconds(UTC) | 391.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 1710.000 | -| ZonedDateTime::forEpochSeconds(Basic_cached) | 707.000 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 1727.000 | +| ZonedDateTime::forEpochSeconds(Basic_cached) | 706.000 | | ZonedDateTime::forEpochSeconds(Extended_nocache) | -1.000 | | ZonedDateTime::forEpochSeconds(Extended_cached) | -1.000 | | ZonedDateTime::forEpochSeconds(Complete_nocache) | -1.000 | | ZonedDateTime::forEpochSeconds(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 2252.000 | -| ZonedDateTime::forComponents(Basic_cached) | 1254.000 | +| ZonedDateTime::forComponents(Basic_nocache) | 2267.000 | +| ZonedDateTime::forComponents(Basic_cached) | 1253.000 | | ZonedDateTime::forComponents(Extended_nocache) | -1.000 | | ZonedDateTime::forComponents(Extended_cached) | -1.000 | | ZonedDateTime::forComponents(Complete_nocache) | -1.000 | | ZonedDateTime::forComponents(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 1386.000 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 378.000 | +| ZonedExtra::forEpochSeconds(Basic_nocache) | 1403.000 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 379.000 | | ZonedExtra::forEpochSeconds(Extended_nocache) | -1.000 | | ZonedExtra::forEpochSeconds(Extended_cached) | -1.000 | | ZonedExtra::forEpochSeconds(Complete_nocache) | -1.000 | | ZonedExtra::forEpochSeconds(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 2276.000 | +| ZonedExtra::forComponents(Basic_nocache) | 2293.000 | | ZonedExtra::forComponents(Basic_cached) | 1277.000 | | ZonedExtra::forComponents(Extended_nocache) | -1.000 | | ZonedExtra::forComponents(Extended_cached) | -1.000 | | ZonedExtra::forComponents(Complete_nocache) | -1.000 | | ZonedExtra::forComponents(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| BasicZoneRegistrar::findIndexForName(binary) | 118.000 | -| BasicZoneRegistrar::findIndexForIdBinary() | 47.000 | -| BasicZoneRegistrar::findIndexForIdLinear() | 299.000 | +| BasicZoneRegistrar::findIndexForName(binary) | 120.000 | +| BasicZoneRegistrar::findIndexForIdBinary() | 48.000 | +| BasicZoneRegistrar::findIndexForIdLinear() | 300.000 | |--------------------------------------------------+----------| | ExtendedZoneRegistrar::findIndexForName(binary) | -1.000 | | ExtendedZoneRegistrar::findIndexForIdBinary() | -1.000 | @@ -326,7 +331,7 @@ Iterations_per_run: 1000 ## Sparkfun Pro Micro * 16 MHz ATmega32U4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * SparkFun AVR Boards 1.1.13 ``` @@ -339,7 +344,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 5 sizeof(TimeZoneData): 5 sizeof(ZonedDateTime): 17 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 25 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 20 @@ -348,10 +353,10 @@ Basic: sizeof(basic::ZoneRule): 9 sizeof(basic::ZonePolicy): 3 sizeof(basic::ZoneRegistrar): 5 - sizeof(BasicZoneProcessor): 143 - sizeof(BasicZoneProcessorCache<1>): 147 + sizeof(BasicZoneProcessor): 148 + sizeof(BasicZoneProcessorCache<1>): 152 sizeof(BasicZoneManager): 7 - sizeof(BasicZoneProcessor::Transition): 26 + sizeof(BasicZoneProcessor::Transition): 27 Extended: sizeof(extended::ZoneContext): 20 sizeof(extended::ZoneEra): 11 @@ -359,11 +364,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 3 sizeof(extended::ZoneRegistrar): 5 - sizeof(ExtendedZoneProcessor): 553 - sizeof(ExtendedZoneProcessorCache<1>): 557 + sizeof(ExtendedZoneProcessor): 561 + sizeof(ExtendedZoneProcessorCache<1>): 565 sizeof(ExtendedZoneManager): 7 - sizeof(ExtendedZoneProcessor::Transition): 49 - sizeof(ExtendedZoneProcessor::TransitionStorage): 412 + sizeof(ExtendedZoneProcessor::Transition): 50 + sizeof(ExtendedZoneProcessor::TransitionStorage): 420 sizeof(ExtendedZoneProcessor::MatchingEra): 32 Complete: sizeof(complete::ZoneContext): 20 @@ -372,11 +377,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 3 sizeof(complete::ZoneRegistrar): 5 - sizeof(CompleteZoneProcessor): 553 - sizeof(CompleteZoneProcessorCache<1>): 557 + sizeof(CompleteZoneProcessor): 561 + sizeof(CompleteZoneProcessorCache<1>): 565 sizeof(CompleteZoneManager): 7 - sizeof(CompleteZoneProcessor::Transition): 49 - sizeof(CompleteZoneProcessor::TransitionStorage): 412 + sizeof(CompleteZoneProcessor::Transition): 50 + sizeof(CompleteZoneProcessor::TransitionStorage): 420 sizeof(CompleteZoneProcessor::MatchingEra): 32 CPU: @@ -385,47 +390,47 @@ CPU: |--------------------------------------------------+----------| | EmptyLoop | 3.000 | |--------------------------------------------------+----------| -| LocalDate::forEpochDays() | 246.000 | +| LocalDate::forEpochDays() | 245.000 | | LocalDate::toEpochDays() | 51.000 | -| LocalDate::dayOfWeek() | 49.000 | +| LocalDate::dayOfWeek() | 50.000 | |--------------------------------------------------+----------| -| OffsetDateTime::forEpochSeconds() | 366.000 | -| OffsetDateTime::toEpochSeconds() | 74.000 | +| OffsetDateTime::forEpochSeconds() | 365.000 | +| OffsetDateTime::toEpochSeconds() | 76.000 | |--------------------------------------------------+----------| | ZonedDateTime::toEpochSeconds() | 75.000 | | ZonedDateTime::toEpochDays() | 65.000 | | ZonedDateTime::forEpochSeconds(UTC) | 396.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 1721.000 | -| ZonedDateTime::forEpochSeconds(Basic_cached) | 711.000 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 1737.000 | +| ZonedDateTime::forEpochSeconds(Basic_cached) | 712.000 | | ZonedDateTime::forEpochSeconds(Extended_nocache) | -1.000 | | ZonedDateTime::forEpochSeconds(Extended_cached) | -1.000 | | ZonedDateTime::forEpochSeconds(Complete_nocache) | -1.000 | | ZonedDateTime::forEpochSeconds(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 2265.000 | +| ZonedDateTime::forComponents(Basic_nocache) | 2281.000 | | ZonedDateTime::forComponents(Basic_cached) | 1261.000 | | ZonedDateTime::forComponents(Extended_nocache) | -1.000 | | ZonedDateTime::forComponents(Extended_cached) | -1.000 | | ZonedDateTime::forComponents(Complete_nocache) | -1.000 | | ZonedDateTime::forComponents(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 1395.000 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 382.000 | +| ZonedExtra::forEpochSeconds(Basic_nocache) | 1411.000 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 383.000 | | ZonedExtra::forEpochSeconds(Extended_nocache) | -1.000 | | ZonedExtra::forEpochSeconds(Extended_cached) | -1.000 | | ZonedExtra::forEpochSeconds(Complete_nocache) | -1.000 | | ZonedExtra::forEpochSeconds(Complete_cached) | -1.000 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 2287.000 | -| ZonedExtra::forComponents(Basic_cached) | 1286.000 | +| ZonedExtra::forComponents(Basic_nocache) | 2307.000 | +| ZonedExtra::forComponents(Basic_cached) | 1287.000 | | ZonedExtra::forComponents(Extended_nocache) | -1.000 | | ZonedExtra::forComponents(Extended_cached) | -1.000 | | ZonedExtra::forComponents(Complete_nocache) | -1.000 | | ZonedExtra::forComponents(Complete_cached) | -1.000 | |--------------------------------------------------+----------| | BasicZoneRegistrar::findIndexForName(binary) | 118.000 | -| BasicZoneRegistrar::findIndexForIdBinary() | 46.000 | +| BasicZoneRegistrar::findIndexForIdBinary() | 47.000 | | BasicZoneRegistrar::findIndexForIdLinear() | 301.000 | |--------------------------------------------------+----------| | ExtendedZoneRegistrar::findIndexForName(binary) | -1.000 | @@ -443,7 +448,7 @@ Iterations_per_run: 1000 ## Seeed Studio XIAO SAMD21 * SAMD21, 48 MHz ARM Cortex-M0+ -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Seeeduino 1.8.4 ``` @@ -456,7 +461,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -476,11 +481,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -489,11 +494,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 CPU: @@ -502,56 +507,56 @@ CPU: |--------------------------------------------------+----------| | EmptyLoop | 1.400 | |--------------------------------------------------+----------| -| LocalDate::forEpochDays() | 11.600 | -| LocalDate::toEpochDays() | 4.200 | -| LocalDate::dayOfWeek() | 6.400 | +| LocalDate::forEpochDays() | 11.800 | +| LocalDate::toEpochDays() | 4.400 | +| LocalDate::dayOfWeek() | 6.200 | |--------------------------------------------------+----------| -| OffsetDateTime::forEpochSeconds() | 19.800 | -| OffsetDateTime::toEpochSeconds() | 11.600 | +| OffsetDateTime::forEpochSeconds() | 20.000 | +| OffsetDateTime::toEpochSeconds() | 11.800 | |--------------------------------------------------+----------| -| ZonedDateTime::toEpochSeconds() | 11.600 | +| ZonedDateTime::toEpochSeconds() | 12.000 | | ZonedDateTime::toEpochDays() | 9.400 | | ZonedDateTime::forEpochSeconds(UTC) | 23.400 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 215.800 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 219.000 | | ZonedDateTime::forEpochSeconds(Basic_cached) | 45.800 | -| ZonedDateTime::forEpochSeconds(Extended_nocache) | 543.800 | +| ZonedDateTime::forEpochSeconds(Extended_nocache) | 546.800 | | ZonedDateTime::forEpochSeconds(Extended_cached) | 57.000 | -| ZonedDateTime::forEpochSeconds(Complete_nocache) | 663.800 | -| ZonedDateTime::forEpochSeconds(Complete_cached) | 56.800 | +| ZonedDateTime::forEpochSeconds(Complete_nocache) | 669.800 | +| ZonedDateTime::forEpochSeconds(Complete_cached) | 57.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 272.800 | -| ZonedDateTime::forComponents(Basic_cached) | 95.000 | -| ZonedDateTime::forComponents(Extended_nocache) | 413.400 | +| ZonedDateTime::forComponents(Basic_nocache) | 276.800 | +| ZonedDateTime::forComponents(Basic_cached) | 95.200 | +| ZonedDateTime::forComponents(Extended_nocache) | 416.000 | | ZonedDateTime::forComponents(Extended_cached) | 17.000 | -| ZonedDateTime::forComponents(Complete_nocache) | 533.600 | +| ZonedDateTime::forComponents(Complete_nocache) | 538.600 | | ZonedDateTime::forComponents(Complete_cached) | 16.800 | |--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 197.400 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 27.400 | -| ZonedExtra::forEpochSeconds(Extended_nocache) | 525.200 | -| ZonedExtra::forEpochSeconds(Extended_cached) | 38.400 | -| ZonedExtra::forEpochSeconds(Complete_nocache) | 644.800 | -| ZonedExtra::forEpochSeconds(Complete_cached) | 38.400 | +| ZonedExtra::forEpochSeconds(Basic_nocache) | 201.000 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 28.000 | +| ZonedExtra::forEpochSeconds(Extended_nocache) | 528.200 | +| ZonedExtra::forEpochSeconds(Extended_cached) | 38.800 | +| ZonedExtra::forEpochSeconds(Complete_nocache) | 651.000 | +| ZonedExtra::forEpochSeconds(Complete_cached) | 38.800 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 276.000 | -| ZonedExtra::forComponents(Basic_cached) | 98.200 | -| ZonedExtra::forComponents(Extended_nocache) | 416.800 | -| ZonedExtra::forComponents(Extended_cached) | 20.200 | -| ZonedExtra::forComponents(Complete_nocache) | 536.800 | -| ZonedExtra::forComponents(Complete_cached) | 20.000 | +| ZonedExtra::forComponents(Basic_nocache) | 280.200 | +| ZonedExtra::forComponents(Basic_cached) | 98.800 | +| ZonedExtra::forComponents(Extended_nocache) | 419.400 | +| ZonedExtra::forComponents(Extended_cached) | 20.400 | +| ZonedExtra::forComponents(Complete_nocache) | 542.000 | +| ZonedExtra::forComponents(Complete_cached) | 20.400 | |--------------------------------------------------+----------| -| BasicZoneRegistrar::findIndexForName(binary) | 16.200 | -| BasicZoneRegistrar::findIndexForIdBinary() | 4.200 | -| BasicZoneRegistrar::findIndexForIdLinear() | 14.600 | +| BasicZoneRegistrar::findIndexForName(binary) | 16.600 | +| BasicZoneRegistrar::findIndexForIdBinary() | 4.000 | +| BasicZoneRegistrar::findIndexForIdLinear() | 14.400 | |--------------------------------------------------+----------| | ExtendedZoneRegistrar::findIndexForName(binary) | 16.600 | -| ExtendedZoneRegistrar::findIndexForIdBinary() | 4.000 | -| ExtendedZoneRegistrar::findIndexForIdLinear() | 14.200 | +| ExtendedZoneRegistrar::findIndexForIdBinary() | 4.200 | +| ExtendedZoneRegistrar::findIndexForIdLinear() | 14.400 | |--------------------------------------------------+----------| -| CompleteZoneRegistrar::findIndexForName(binary) | 16.400 | -| CompleteZoneRegistrar::findIndexForIdBinary() | 4.400 | -| CompleteZoneRegistrar::findIndexForIdLinear() | 14.600 | +| CompleteZoneRegistrar::findIndexForName(binary) | 16.600 | +| CompleteZoneRegistrar::findIndexForIdBinary() | 4.200 | +| CompleteZoneRegistrar::findIndexForIdLinear() | 14.400 | +--------------------------------------------------+----------+ Iterations_per_run: 5000 @@ -560,11 +565,58 @@ Iterations_per_run: 5000 ## STM32 Blue Pill * STM32F103C8, 72 MHz ARM Cortex-M3 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * STM32duino 2.5.0 ``` Sizes of Objects: +sizeof(LocalDate): 4 +sizeof(LocalTime): 4 +sizeof(LocalDateTime): 8 +sizeof(TimeOffset): 4 +sizeof(OffsetDateTime): 12 +sizeof(TimeZone): 12 +sizeof(TimeZoneData): 8 +sizeof(ZonedDateTime): 24 +sizeof(ZonedExtra): 28 +sizeof(TimePeriod): 4 +Basic: + sizeof(basic::ZoneContext): 28 + sizeof(basic::ZoneEra): 16 + sizeof(basic::ZoneInfo): 24 + sizeof(basic::ZoneRule): 9 + sizeof(basic::ZonePolicy): 8 + sizeof(basic::ZoneRegistrar): 8 + sizeof(BasicZoneProcessor): 208 + sizeof(BasicZoneProcessorCache<1>): 216 + sizeof(BasicZoneManager): 12 + sizeof(BasicZoneProcessor::Transition): 36 +Extended: + sizeof(extended::ZoneContext): 28 + sizeof(extended::ZoneEra): 16 + sizeof(extended::ZoneInfo): 24 + sizeof(extended::ZoneRule): 9 + sizeof(extended::ZonePolicy): 8 + sizeof(extended::ZoneRegistrar): 8 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 + sizeof(ExtendedZoneManager): 12 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 + sizeof(ExtendedZoneProcessor::MatchingEra): 44 +Complete: + sizeof(complete::ZoneContext): 28 + sizeof(complete::ZoneEra): 20 + sizeof(complete::ZoneInfo): 24 + sizeof(complete::ZoneRule): 12 + sizeof(complete::ZonePolicy): 8 + sizeof(complete::ZoneRegistrar): 8 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 + sizeof(CompleteZoneManager): 12 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 + sizeof(CompleteZoneProcessor::MatchingEra): 44 CPU: +--------------------------------------------------+----------+ @@ -574,54 +626,54 @@ CPU: |--------------------------------------------------+----------| | LocalDate::forEpochDays() | 2.800 | | LocalDate::toEpochDays() | 1.200 | -| LocalDate::dayOfWeek() | 1.800 | +| LocalDate::dayOfWeek() | 1.400 | |--------------------------------------------------+----------| | OffsetDateTime::forEpochSeconds() | 4.400 | | OffsetDateTime::toEpochSeconds() | 4.600 | |--------------------------------------------------+----------| -| ZonedDateTime::toEpochSeconds() | 4.400 | -| ZonedDateTime::toEpochDays() | 3.000 | +| ZonedDateTime::toEpochSeconds() | 4.600 | +| ZonedDateTime::toEpochDays() | 3.200 | | ZonedDateTime::forEpochSeconds(UTC) | 6.400 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 91.000 | -| ZonedDateTime::forEpochSeconds(Basic_cached) | 12.600 | -| ZonedDateTime::forEpochSeconds(Extended_nocache) | 239.400 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 92.400 | +| ZonedDateTime::forEpochSeconds(Basic_cached) | 12.800 | +| ZonedDateTime::forEpochSeconds(Extended_nocache) | 242.600 | | ZonedDateTime::forEpochSeconds(Extended_cached) | 17.200 | -| ZonedDateTime::forEpochSeconds(Complete_nocache) | 298.000 | +| ZonedDateTime::forEpochSeconds(Complete_nocache) | 301.600 | | ZonedDateTime::forEpochSeconds(Complete_cached) | 17.200 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 112.800 | -| ZonedDateTime::forComponents(Basic_cached) | 36.000 | -| ZonedDateTime::forComponents(Extended_nocache) | 190.200 | -| ZonedDateTime::forComponents(Extended_cached) | 7.800 | -| ZonedDateTime::forComponents(Complete_nocache) | 248.800 | +| ZonedDateTime::forComponents(Basic_nocache) | 114.600 | +| ZonedDateTime::forComponents(Basic_cached) | 36.600 | +| ZonedDateTime::forComponents(Extended_nocache) | 193.200 | +| ZonedDateTime::forComponents(Extended_cached) | 7.600 | +| ZonedDateTime::forComponents(Complete_nocache) | 252.600 | | ZonedDateTime::forComponents(Complete_cached) | 7.600 | |--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 88.000 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 9.200 | -| ZonedExtra::forEpochSeconds(Extended_nocache) | 236.000 | +| ZonedExtra::forEpochSeconds(Basic_nocache) | 89.400 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 9.400 | +| ZonedExtra::forEpochSeconds(Extended_nocache) | 239.000 | | ZonedExtra::forEpochSeconds(Extended_cached) | 13.600 | -| ZonedExtra::forEpochSeconds(Complete_nocache) | 294.400 | +| ZonedExtra::forEpochSeconds(Complete_nocache) | 298.200 | | ZonedExtra::forEpochSeconds(Complete_cached) | 13.800 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 113.400 | -| ZonedExtra::forComponents(Basic_cached) | 37.000 | -| ZonedExtra::forComponents(Extended_nocache) | 191.000 | +| ZonedExtra::forComponents(Basic_nocache) | 115.400 | +| ZonedExtra::forComponents(Basic_cached) | 37.400 | +| ZonedExtra::forComponents(Extended_nocache) | 194.000 | | ZonedExtra::forComponents(Extended_cached) | 8.600 | -| ZonedExtra::forComponents(Complete_nocache) | 249.800 | +| ZonedExtra::forComponents(Complete_nocache) | 253.600 | | ZonedExtra::forComponents(Complete_cached) | 8.400 | |--------------------------------------------------+----------| -| BasicZoneRegistrar::findIndexForName(binary) | 13.800 | +| BasicZoneRegistrar::findIndexForName(binary) | 13.400 | | BasicZoneRegistrar::findIndexForIdBinary() | 2.600 | | BasicZoneRegistrar::findIndexForIdLinear() | 17.000 | |--------------------------------------------------+----------| -| ExtendedZoneRegistrar::findIndexForName(binary) | 13.600 | -| ExtendedZoneRegistrar::findIndexForIdBinary() | 2.200 | +| ExtendedZoneRegistrar::findIndexForName(binary) | 13.800 | +| ExtendedZoneRegistrar::findIndexForIdBinary() | 2.400 | | ExtendedZoneRegistrar::findIndexForIdLinear() | 16.400 | |--------------------------------------------------+----------| | CompleteZoneRegistrar::findIndexForName(binary) | 13.600 | | CompleteZoneRegistrar::findIndexForIdBinary() | 2.400 | -| CompleteZoneRegistrar::findIndexForIdLinear() | 17.000 | +| CompleteZoneRegistrar::findIndexForIdLinear() | 16.800 | +--------------------------------------------------+----------+ Iterations_per_run: 5000 @@ -630,7 +682,7 @@ Iterations_per_run: 5000 ## Adafruit ItsyBitsy M4 SAMD51 * SAMD51, 120 MHz ARM Cortex-M4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Adafruit SAMD 1.7.11 ``` @@ -643,7 +695,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -663,11 +715,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -676,11 +728,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 CPU: @@ -690,55 +742,55 @@ CPU: | EmptyLoop | 0.400 | |--------------------------------------------------+----------| | LocalDate::forEpochDays() | 1.400 | -| LocalDate::toEpochDays() | 0.800 | -| LocalDate::dayOfWeek() | 1.000 | +| LocalDate::toEpochDays() | 0.600 | +| LocalDate::dayOfWeek() | 0.600 | |--------------------------------------------------+----------| | OffsetDateTime::forEpochSeconds() | 2.000 | | OffsetDateTime::toEpochSeconds() | 2.400 | |--------------------------------------------------+----------| -| ZonedDateTime::toEpochSeconds() | 2.400 | +| ZonedDateTime::toEpochSeconds() | 2.200 | | ZonedDateTime::toEpochDays() | 1.800 | -| ZonedDateTime::forEpochSeconds(UTC) | 3.200 | +| ZonedDateTime::forEpochSeconds(UTC) | 3.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 41.800 | -| ZonedDateTime::forEpochSeconds(Basic_cached) | 6.200 | -| ZonedDateTime::forEpochSeconds(Extended_nocache) | 110.200 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 43.600 | +| ZonedDateTime::forEpochSeconds(Basic_cached) | 6.000 | +| ZonedDateTime::forEpochSeconds(Extended_nocache) | 109.800 | | ZonedDateTime::forEpochSeconds(Extended_cached) | 8.400 | -| ZonedDateTime::forEpochSeconds(Complete_nocache) | 132.600 | -| ZonedDateTime::forEpochSeconds(Complete_cached) | 8.000 | +| ZonedDateTime::forEpochSeconds(Complete_nocache) | 133.800 | +| ZonedDateTime::forEpochSeconds(Complete_cached) | 8.200 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 52.800 | +| ZonedDateTime::forComponents(Basic_nocache) | 54.200 | | ZonedDateTime::forComponents(Basic_cached) | 17.800 | -| ZonedDateTime::forComponents(Extended_nocache) | 89.200 | +| ZonedDateTime::forComponents(Extended_nocache) | 88.400 | | ZonedDateTime::forComponents(Extended_cached) | 3.800 | -| ZonedDateTime::forComponents(Complete_nocache) | 109.400 | +| ZonedDateTime::forComponents(Complete_nocache) | 111.200 | | ZonedDateTime::forComponents(Complete_cached) | 3.600 | |--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 39.800 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 4.200 | -| ZonedExtra::forEpochSeconds(Extended_nocache) | 107.800 | -| ZonedExtra::forEpochSeconds(Extended_cached) | 6.200 | -| ZonedExtra::forEpochSeconds(Complete_nocache) | 129.400 | -| ZonedExtra::forEpochSeconds(Complete_cached) | 6.200 | +| ZonedExtra::forEpochSeconds(Basic_nocache) | 41.800 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 4.400 | +| ZonedExtra::forEpochSeconds(Extended_nocache) | 107.000 | +| ZonedExtra::forEpochSeconds(Extended_cached) | 6.400 | +| ZonedExtra::forEpochSeconds(Complete_nocache) | 130.800 | +| ZonedExtra::forEpochSeconds(Complete_cached) | 6.400 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 53.000 | -| ZonedExtra::forComponents(Basic_cached) | 18.000 | -| ZonedExtra::forComponents(Extended_nocache) | 88.000 | +| ZonedExtra::forComponents(Basic_nocache) | 54.800 | +| ZonedExtra::forComponents(Basic_cached) | 17.800 | +| ZonedExtra::forComponents(Extended_nocache) | 87.800 | | ZonedExtra::forComponents(Extended_cached) | 3.800 | -| ZonedExtra::forComponents(Complete_nocache) | 108.800 | +| ZonedExtra::forComponents(Complete_nocache) | 111.800 | | ZonedExtra::forComponents(Complete_cached) | 4.000 | |--------------------------------------------------+----------| -| BasicZoneRegistrar::findIndexForName(binary) | 4.800 | +| BasicZoneRegistrar::findIndexForName(binary) | 5.000 | | BasicZoneRegistrar::findIndexForIdBinary() | 1.200 | | BasicZoneRegistrar::findIndexForIdLinear() | 4.000 | |--------------------------------------------------+----------| | ExtendedZoneRegistrar::findIndexForName(binary) | 4.600 | -| ExtendedZoneRegistrar::findIndexForIdBinary() | 1.200 | +| ExtendedZoneRegistrar::findIndexForIdBinary() | 1.400 | | ExtendedZoneRegistrar::findIndexForIdLinear() | 3.800 | |--------------------------------------------------+----------| | CompleteZoneRegistrar::findIndexForName(binary) | 5.000 | -| CompleteZoneRegistrar::findIndexForIdBinary() | 1.400 | -| CompleteZoneRegistrar::findIndexForIdLinear() | 4.200 | +| CompleteZoneRegistrar::findIndexForIdBinary() | 1.200 | +| CompleteZoneRegistrar::findIndexForIdLinear() | 3.800 | +--------------------------------------------------+----------+ Iterations_per_run: 5000 @@ -747,7 +799,7 @@ Iterations_per_run: 5000 ## ESP8266 * NodeMCU 1.0 clone, 80MHz ESP8266 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP8266 Boards 3.0.2 ``` @@ -760,7 +812,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -780,11 +832,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -793,69 +845,69 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 CPU: +--------------------------------------------------+----------+ | Method | micros | |--------------------------------------------------+----------| -| EmptyLoop | 4.500 | +| EmptyLoop | 5.000 | |--------------------------------------------------+----------| -| LocalDate::forEpochDays() | 7.500 | -| LocalDate::toEpochDays() | 4.000 | -| LocalDate::dayOfWeek() | 3.500 | +| LocalDate::forEpochDays() | 7.000 | +| LocalDate::toEpochDays() | 3.500 | +| LocalDate::dayOfWeek() | 3.000 | |--------------------------------------------------+----------| | OffsetDateTime::forEpochSeconds() | 12.000 | -| OffsetDateTime::toEpochSeconds() | 7.000 | +| OffsetDateTime::toEpochSeconds() | 7.500 | |--------------------------------------------------+----------| -| ZonedDateTime::toEpochSeconds() | 6.500 | -| ZonedDateTime::toEpochDays() | 5.500 | +| ZonedDateTime::toEpochSeconds() | 7.000 | +| ZonedDateTime::toEpochDays() | 6.000 | | ZonedDateTime::forEpochSeconds(UTC) | 13.500 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 141.500 | -| ZonedDateTime::forEpochSeconds(Basic_cached) | 21.500 | -| ZonedDateTime::forEpochSeconds(Extended_nocache) | 354.500 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 154.000 | +| ZonedDateTime::forEpochSeconds(Basic_cached) | 21.000 | +| ZonedDateTime::forEpochSeconds(Extended_nocache) | 373.500 | | ZonedDateTime::forEpochSeconds(Extended_cached) | 28.000 | -| ZonedDateTime::forEpochSeconds(Complete_nocache) | 407.000 | -| ZonedDateTime::forEpochSeconds(Complete_cached) | 28.000 | +| ZonedDateTime::forEpochSeconds(Complete_nocache) | 539.000 | +| ZonedDateTime::forEpochSeconds(Complete_cached) | 27.500 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 159.000 | -| ZonedDateTime::forComponents(Basic_cached) | 46.000 | -| ZonedDateTime::forComponents(Extended_nocache) | 241.500 | +| ZonedDateTime::forComponents(Basic_nocache) | 171.000 | +| ZonedDateTime::forComponents(Basic_cached) | 45.500 | +| ZonedDateTime::forComponents(Extended_nocache) | 242.500 | | ZonedDateTime::forComponents(Extended_cached) | 2.500 | -| ZonedDateTime::forComponents(Complete_nocache) | 354.000 | -| ZonedDateTime::forComponents(Complete_cached) | 2.500 | -|--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 134.500 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 11.000 | -| ZonedExtra::forEpochSeconds(Extended_nocache) | 308.000 | -| ZonedExtra::forEpochSeconds(Extended_cached) | 18.000 | -| ZonedExtra::forEpochSeconds(Complete_nocache) | 396.000 | +| ZonedDateTime::forComponents(Complete_nocache) | 449.500 | +| ZonedDateTime::forComponents(Complete_cached) | 2.000 | +|--------------------------------------------------+----------| +| ZonedExtra::forEpochSeconds(Basic_nocache) | 147.500 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 10.500 | +| ZonedExtra::forEpochSeconds(Extended_nocache) | 321.000 | +| ZonedExtra::forEpochSeconds(Extended_cached) | 17.500 | +| ZonedExtra::forEpochSeconds(Complete_nocache) | 498.000 | | ZonedExtra::forEpochSeconds(Complete_cached) | 17.500 | |--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 184.500 | -| ZonedExtra::forComponents(Basic_cached) | 48.500 | -| ZonedExtra::forComponents(Extended_nocache) | 268.000 | -| ZonedExtra::forComponents(Extended_cached) | 29.000 | -| ZonedExtra::forComponents(Complete_nocache) | 332.500 | +| ZonedExtra::forComponents(Basic_nocache) | 174.000 | +| ZonedExtra::forComponents(Basic_cached) | 48.000 | +| ZonedExtra::forComponents(Extended_nocache) | 245.000 | +| ZonedExtra::forComponents(Extended_cached) | 17.000 | +| ZonedExtra::forComponents(Complete_nocache) | 405.000 | | ZonedExtra::forComponents(Complete_cached) | 5.000 | |--------------------------------------------------+----------| -| BasicZoneRegistrar::findIndexForName(binary) | 18.000 | +| BasicZoneRegistrar::findIndexForName(binary) | 17.500 | | BasicZoneRegistrar::findIndexForIdBinary() | 6.500 | -| BasicZoneRegistrar::findIndexForIdLinear() | 43.000 | +| BasicZoneRegistrar::findIndexForIdLinear() | 43.500 | |--------------------------------------------------+----------| -| ExtendedZoneRegistrar::findIndexForName(binary) | 24.500 | -| ExtendedZoneRegistrar::findIndexForIdBinary() | 6.000 | -| ExtendedZoneRegistrar::findIndexForIdLinear() | 50.500 | +| ExtendedZoneRegistrar::findIndexForName(binary) | 31.000 | +| ExtendedZoneRegistrar::findIndexForIdBinary() | 6.500 | +| ExtendedZoneRegistrar::findIndexForIdLinear() | 42.500 | |--------------------------------------------------+----------| -| CompleteZoneRegistrar::findIndexForName(binary) | 18.500 | -| CompleteZoneRegistrar::findIndexForIdBinary() | 6.500 | -| CompleteZoneRegistrar::findIndexForIdLinear() | 43.000 | +| CompleteZoneRegistrar::findIndexForName(binary) | 26.500 | +| CompleteZoneRegistrar::findIndexForIdBinary() | 6.000 | +| CompleteZoneRegistrar::findIndexForIdLinear() | 42.000 | +--------------------------------------------------+----------+ Iterations_per_run: 2000 @@ -864,7 +916,7 @@ Iterations_per_run: 2000 ## ESP32 * ESP32-01 Dev Board, 240 MHz Tensilica LX6 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP32 Boards 2.0.9 ``` @@ -877,7 +929,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -897,11 +949,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -910,11 +962,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 CPU: @@ -924,55 +976,55 @@ CPU: | EmptyLoop | 1.200 | |--------------------------------------------------+----------| | LocalDate::forEpochDays() | 0.800 | -| LocalDate::toEpochDays() | 0.350 | -| LocalDate::dayOfWeek() | 0.400 | +| LocalDate::toEpochDays() | 0.300 | +| LocalDate::dayOfWeek() | 0.450 | |--------------------------------------------------+----------| | OffsetDateTime::forEpochSeconds() | 1.350 | | OffsetDateTime::toEpochSeconds() | 1.500 | |--------------------------------------------------+----------| -| ZonedDateTime::toEpochSeconds() | 1.350 | +| ZonedDateTime::toEpochSeconds() | 1.400 | | ZonedDateTime::toEpochDays() | 1.100 | | ZonedDateTime::forEpochSeconds(UTC) | 1.950 | |--------------------------------------------------+----------| -| ZonedDateTime::forEpochSeconds(Basic_nocache) | 23.100 | +| ZonedDateTime::forEpochSeconds(Basic_nocache) | 23.900 | | ZonedDateTime::forEpochSeconds(Basic_cached) | 2.350 | -| ZonedDateTime::forEpochSeconds(Extended_nocache) | 65.000 | +| ZonedDateTime::forEpochSeconds(Extended_nocache) | 68.950 | | ZonedDateTime::forEpochSeconds(Extended_cached) | 4.000 | -| ZonedDateTime::forEpochSeconds(Complete_nocache) | 74.500 | +| ZonedDateTime::forEpochSeconds(Complete_nocache) | 82.150 | | ZonedDateTime::forEpochSeconds(Complete_cached) | 4.000 | |--------------------------------------------------+----------| -| ZonedDateTime::forComponents(Basic_nocache) | 29.250 | +| ZonedDateTime::forComponents(Basic_nocache) | 30.150 | | ZonedDateTime::forComponents(Basic_cached) | 9.650 | -| ZonedDateTime::forComponents(Extended_nocache) | 51.700 | +| ZonedDateTime::forComponents(Extended_nocache) | 55.650 | | ZonedDateTime::forComponents(Extended_cached) | 1.050 | -| ZonedDateTime::forComponents(Complete_nocache) | 61.400 | -| ZonedDateTime::forComponents(Complete_cached) | 1.050 | -|--------------------------------------------------+----------| -| ZonedExtra::forEpochSeconds(Basic_nocache) | 22.850 | -| ZonedExtra::forEpochSeconds(Basic_cached) | 1.450 | -| ZonedExtra::forEpochSeconds(Extended_nocache) | 63.900 | -| ZonedExtra::forEpochSeconds(Extended_cached) | 2.900 | -| ZonedExtra::forEpochSeconds(Complete_nocache) | 73.450 | -| ZonedExtra::forEpochSeconds(Complete_cached) | 2.900 | -|--------------------------------------------------+----------| -| ZonedExtra::forComponents(Basic_nocache) | 29.450 | -| ZonedExtra::forComponents(Basic_cached) | 9.850 | -| ZonedExtra::forComponents(Extended_nocache) | 51.850 | -| ZonedExtra::forComponents(Extended_cached) | 1.200 | -| ZonedExtra::forComponents(Complete_nocache) | 61.550 | -| ZonedExtra::forComponents(Complete_cached) | 1.150 | +| ZonedDateTime::forComponents(Complete_nocache) | 69.000 | +| ZonedDateTime::forComponents(Complete_cached) | 1.000 | +|--------------------------------------------------+----------| +| ZonedExtra::forEpochSeconds(Basic_nocache) | 23.800 | +| ZonedExtra::forEpochSeconds(Basic_cached) | 1.600 | +| ZonedExtra::forEpochSeconds(Extended_nocache) | 68.000 | +| ZonedExtra::forEpochSeconds(Extended_cached) | 3.000 | +| ZonedExtra::forEpochSeconds(Complete_nocache) | 81.150 | +| ZonedExtra::forEpochSeconds(Complete_cached) | 3.000 | +|--------------------------------------------------+----------| +| ZonedExtra::forComponents(Basic_nocache) | 30.400 | +| ZonedExtra::forComponents(Basic_cached) | 9.950 | +| ZonedExtra::forComponents(Extended_nocache) | 55.850 | +| ZonedExtra::forComponents(Extended_cached) | 1.300 | +| ZonedExtra::forComponents(Complete_nocache) | 69.200 | +| ZonedExtra::forComponents(Complete_cached) | 1.250 | |--------------------------------------------------+----------| | BasicZoneRegistrar::findIndexForName(binary) | 3.050 | -| BasicZoneRegistrar::findIndexForIdBinary() | 0.700 | +| BasicZoneRegistrar::findIndexForIdBinary() | 0.650 | | BasicZoneRegistrar::findIndexForIdLinear() | 2.850 | |--------------------------------------------------+----------| -| ExtendedZoneRegistrar::findIndexForName(binary) | 3.050 | +| ExtendedZoneRegistrar::findIndexForName(binary) | 3.100 | | ExtendedZoneRegistrar::findIndexForIdBinary() | 0.700 | -| ExtendedZoneRegistrar::findIndexForIdLinear() | 2.800 | +| ExtendedZoneRegistrar::findIndexForIdLinear() | 2.850 | |--------------------------------------------------+----------| -| CompleteZoneRegistrar::findIndexForName(binary) | 3.050 | -| CompleteZoneRegistrar::findIndexForIdBinary() | 0.750 | -| CompleteZoneRegistrar::findIndexForIdLinear() | 2.850 | +| CompleteZoneRegistrar::findIndexForName(binary) | 3.150 | +| CompleteZoneRegistrar::findIndexForIdBinary() | 0.700 | +| CompleteZoneRegistrar::findIndexForIdLinear() | 2.800 | +--------------------------------------------------+----------+ Iterations_per_run: 20000 diff --git a/examples/AutoBenchmark/esp32.txt b/examples/AutoBenchmark/esp32.txt index 3cfe788fa..2f9e1f543 100644 --- a/examples/AutoBenchmark/esp32.txt +++ b/examples/AutoBenchmark/esp32.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -40,54 +40,54 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 BENCHMARKS EmptyLoop 1.200 LocalDate::forEpochDays() 0.800 -LocalDate::toEpochDays() 0.350 -LocalDate::dayOfWeek() 0.400 +LocalDate::toEpochDays() 0.300 +LocalDate::dayOfWeek() 0.450 OffsetDateTime::forEpochSeconds() 1.350 OffsetDateTime::toEpochSeconds() 1.500 -ZonedDateTime::toEpochSeconds() 1.350 +ZonedDateTime::toEpochSeconds() 1.400 ZonedDateTime::toEpochDays() 1.100 ZonedDateTime::forEpochSeconds(UTC) 1.950 -ZonedDateTime::forEpochSeconds(Basic_nocache) 23.100 +ZonedDateTime::forEpochSeconds(Basic_nocache) 23.900 ZonedDateTime::forEpochSeconds(Basic_cached) 2.350 -ZonedDateTime::forEpochSeconds(Extended_nocache) 65.000 +ZonedDateTime::forEpochSeconds(Extended_nocache) 68.950 ZonedDateTime::forEpochSeconds(Extended_cached) 4.000 -ZonedDateTime::forEpochSeconds(Complete_nocache) 74.500 +ZonedDateTime::forEpochSeconds(Complete_nocache) 82.150 ZonedDateTime::forEpochSeconds(Complete_cached) 4.000 -ZonedDateTime::forComponents(Basic_nocache) 29.250 +ZonedDateTime::forComponents(Basic_nocache) 30.150 ZonedDateTime::forComponents(Basic_cached) 9.650 -ZonedDateTime::forComponents(Extended_nocache) 51.700 +ZonedDateTime::forComponents(Extended_nocache) 55.650 ZonedDateTime::forComponents(Extended_cached) 1.050 -ZonedDateTime::forComponents(Complete_nocache) 61.400 -ZonedDateTime::forComponents(Complete_cached) 1.050 -ZonedExtra::forEpochSeconds(Basic_nocache) 22.850 -ZonedExtra::forEpochSeconds(Basic_cached) 1.450 -ZonedExtra::forEpochSeconds(Extended_nocache) 63.900 -ZonedExtra::forEpochSeconds(Extended_cached) 2.900 -ZonedExtra::forEpochSeconds(Complete_nocache) 73.450 -ZonedExtra::forEpochSeconds(Complete_cached) 2.900 -ZonedExtra::forComponents(Basic_nocache) 29.450 -ZonedExtra::forComponents(Basic_cached) 9.850 -ZonedExtra::forComponents(Extended_nocache) 51.850 -ZonedExtra::forComponents(Extended_cached) 1.200 -ZonedExtra::forComponents(Complete_nocache) 61.550 -ZonedExtra::forComponents(Complete_cached) 1.150 +ZonedDateTime::forComponents(Complete_nocache) 69.000 +ZonedDateTime::forComponents(Complete_cached) 1.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 23.800 +ZonedExtra::forEpochSeconds(Basic_cached) 1.600 +ZonedExtra::forEpochSeconds(Extended_nocache) 68.000 +ZonedExtra::forEpochSeconds(Extended_cached) 3.000 +ZonedExtra::forEpochSeconds(Complete_nocache) 81.150 +ZonedExtra::forEpochSeconds(Complete_cached) 3.000 +ZonedExtra::forComponents(Basic_nocache) 30.400 +ZonedExtra::forComponents(Basic_cached) 9.950 +ZonedExtra::forComponents(Extended_nocache) 55.850 +ZonedExtra::forComponents(Extended_cached) 1.300 +ZonedExtra::forComponents(Complete_nocache) 69.200 +ZonedExtra::forComponents(Complete_cached) 1.250 BasicZoneRegistrar::findIndexForName(binary) 3.050 -BasicZoneRegistrar::findIndexForIdBinary() 0.700 +BasicZoneRegistrar::findIndexForIdBinary() 0.650 BasicZoneRegistrar::findIndexForIdLinear() 2.850 -ExtendedZoneRegistrar::findIndexForName(binary) 3.050 +ExtendedZoneRegistrar::findIndexForName(binary) 3.100 ExtendedZoneRegistrar::findIndexForIdBinary() 0.700 -ExtendedZoneRegistrar::findIndexForIdLinear() 2.800 -CompleteZoneRegistrar::findIndexForName(binary) 3.050 -CompleteZoneRegistrar::findIndexForIdBinary() 0.750 -CompleteZoneRegistrar::findIndexForIdLinear() 2.850 +ExtendedZoneRegistrar::findIndexForIdLinear() 2.850 +CompleteZoneRegistrar::findIndexForName(binary) 3.150 +CompleteZoneRegistrar::findIndexForIdBinary() 0.700 +CompleteZoneRegistrar::findIndexForIdLinear() 2.800 Iterations_per_run 20000 END diff --git a/examples/AutoBenchmark/esp8266.txt b/examples/AutoBenchmark/esp8266.txt index 29865c463..60f7d8bd9 100644 --- a/examples/AutoBenchmark/esp8266.txt +++ b/examples/AutoBenchmark/esp8266.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -40,54 +40,54 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 BENCHMARKS -EmptyLoop 4.500 -LocalDate::forEpochDays() 7.500 -LocalDate::toEpochDays() 4.000 -LocalDate::dayOfWeek() 3.500 +EmptyLoop 5.000 +LocalDate::forEpochDays() 7.000 +LocalDate::toEpochDays() 3.500 +LocalDate::dayOfWeek() 3.000 OffsetDateTime::forEpochSeconds() 12.000 -OffsetDateTime::toEpochSeconds() 7.000 -ZonedDateTime::toEpochSeconds() 6.500 -ZonedDateTime::toEpochDays() 5.500 +OffsetDateTime::toEpochSeconds() 7.500 +ZonedDateTime::toEpochSeconds() 7.000 +ZonedDateTime::toEpochDays() 6.000 ZonedDateTime::forEpochSeconds(UTC) 13.500 -ZonedDateTime::forEpochSeconds(Basic_nocache) 141.500 -ZonedDateTime::forEpochSeconds(Basic_cached) 21.500 -ZonedDateTime::forEpochSeconds(Extended_nocache) 354.500 +ZonedDateTime::forEpochSeconds(Basic_nocache) 154.000 +ZonedDateTime::forEpochSeconds(Basic_cached) 21.000 +ZonedDateTime::forEpochSeconds(Extended_nocache) 373.500 ZonedDateTime::forEpochSeconds(Extended_cached) 28.000 -ZonedDateTime::forEpochSeconds(Complete_nocache) 407.000 -ZonedDateTime::forEpochSeconds(Complete_cached) 28.000 -ZonedDateTime::forComponents(Basic_nocache) 159.000 -ZonedDateTime::forComponents(Basic_cached) 46.000 -ZonedDateTime::forComponents(Extended_nocache) 241.500 +ZonedDateTime::forEpochSeconds(Complete_nocache) 539.000 +ZonedDateTime::forEpochSeconds(Complete_cached) 27.500 +ZonedDateTime::forComponents(Basic_nocache) 171.000 +ZonedDateTime::forComponents(Basic_cached) 45.500 +ZonedDateTime::forComponents(Extended_nocache) 242.500 ZonedDateTime::forComponents(Extended_cached) 2.500 -ZonedDateTime::forComponents(Complete_nocache) 354.000 -ZonedDateTime::forComponents(Complete_cached) 2.500 -ZonedExtra::forEpochSeconds(Basic_nocache) 134.500 -ZonedExtra::forEpochSeconds(Basic_cached) 11.000 -ZonedExtra::forEpochSeconds(Extended_nocache) 308.000 -ZonedExtra::forEpochSeconds(Extended_cached) 18.000 -ZonedExtra::forEpochSeconds(Complete_nocache) 396.000 +ZonedDateTime::forComponents(Complete_nocache) 449.500 +ZonedDateTime::forComponents(Complete_cached) 2.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 147.500 +ZonedExtra::forEpochSeconds(Basic_cached) 10.500 +ZonedExtra::forEpochSeconds(Extended_nocache) 321.000 +ZonedExtra::forEpochSeconds(Extended_cached) 17.500 +ZonedExtra::forEpochSeconds(Complete_nocache) 498.000 ZonedExtra::forEpochSeconds(Complete_cached) 17.500 -ZonedExtra::forComponents(Basic_nocache) 184.500 -ZonedExtra::forComponents(Basic_cached) 48.500 -ZonedExtra::forComponents(Extended_nocache) 268.000 -ZonedExtra::forComponents(Extended_cached) 29.000 -ZonedExtra::forComponents(Complete_nocache) 332.500 +ZonedExtra::forComponents(Basic_nocache) 174.000 +ZonedExtra::forComponents(Basic_cached) 48.000 +ZonedExtra::forComponents(Extended_nocache) 245.000 +ZonedExtra::forComponents(Extended_cached) 17.000 +ZonedExtra::forComponents(Complete_nocache) 405.000 ZonedExtra::forComponents(Complete_cached) 5.000 -BasicZoneRegistrar::findIndexForName(binary) 18.000 +BasicZoneRegistrar::findIndexForName(binary) 17.500 BasicZoneRegistrar::findIndexForIdBinary() 6.500 -BasicZoneRegistrar::findIndexForIdLinear() 43.000 -ExtendedZoneRegistrar::findIndexForName(binary) 24.500 -ExtendedZoneRegistrar::findIndexForIdBinary() 6.000 -ExtendedZoneRegistrar::findIndexForIdLinear() 50.500 -CompleteZoneRegistrar::findIndexForName(binary) 18.500 -CompleteZoneRegistrar::findIndexForIdBinary() 6.500 -CompleteZoneRegistrar::findIndexForIdLinear() 43.000 +BasicZoneRegistrar::findIndexForIdLinear() 43.500 +ExtendedZoneRegistrar::findIndexForName(binary) 31.000 +ExtendedZoneRegistrar::findIndexForIdBinary() 6.500 +ExtendedZoneRegistrar::findIndexForIdLinear() 42.500 +CompleteZoneRegistrar::findIndexForName(binary) 26.500 +CompleteZoneRegistrar::findIndexForIdBinary() 6.000 +CompleteZoneRegistrar::findIndexForIdLinear() 42.000 Iterations_per_run 2000 END diff --git a/examples/AutoBenchmark/generate_readme.py b/examples/AutoBenchmark/generate_readme.py index 185650f49..1385ef81e 100755 --- a/examples/AutoBenchmark/generate_readme.py +++ b/examples/AutoBenchmark/generate_readme.py @@ -28,7 +28,7 @@ These results show that integer division and modulus operations are incredibly slow on 8-bit AVR processors. -**Version**: AceTime v2.3.0 +**Version**: AceTime v2.4.0 **NOTE**: This file was auto-generated using `make README.md`. DO NOT EDIT. @@ -55,7 +55,7 @@ 2. Type `$ auniter ports` to determine its `/dev/ttyXXX` port number (e.g. `/dev/ttyUSB0` or `/dev/ttyACM0`). 3. If the port is `USB0` or `ACM0`, type `$ make nano.txt`, etc. -4. Switch off the old microontroller. +4. Switch off the old microcontroller. 5. Go to Step 1 and repeat for each microcontroller. The `generate_table.awk` program reads one of `*.txt` files and prints out an @@ -224,16 +224,21 @@ * ESP32 Boards 2.0.9 **v2.3.0** - * Add benchmarks for `CompleteZoneProcessor` and related classes * Replace labels of `BasicZoneManager::createForXxx()` with `BasicZoneRegistrar::findIndexForXxx()`, because those are the methods which are actually being tested. +**v2.4.0** +* Support %z format. +* Upgrade to TZDB 2024b. +* Upgrade Arduino CLI to 1.1.1 +* Almost no change in execution times. + ## Arduino Nano * 16MHz ATmega328P -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Arduino AVR Boards 1.8.6 ``` @@ -243,7 +248,7 @@ ## Sparkfun Pro Micro * 16 MHz ATmega32U4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * SparkFun AVR Boards 1.1.13 ``` @@ -253,7 +258,7 @@ ## Seeed Studio XIAO SAMD21 * SAMD21, 48 MHz ARM Cortex-M0+ -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Seeeduino 1.8.4 ``` @@ -263,7 +268,7 @@ ## STM32 Blue Pill * STM32F103C8, 72 MHz ARM Cortex-M3 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * STM32duino 2.5.0 ``` @@ -273,7 +278,7 @@ ## Adafruit ItsyBitsy M4 SAMD51 * SAMD51, 120 MHz ARM Cortex-M4 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * Adafruit SAMD 1.7.11 ``` @@ -283,7 +288,7 @@ ## ESP8266 * NodeMCU 1.0 clone, 80MHz ESP8266 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP8266 Boards 3.0.2 ``` @@ -293,7 +298,7 @@ ## ESP32 * ESP32-01 Dev Board, 240 MHz Tensilica LX6 -* Arduino IDE 1.8.19, Arduino CLI 0.33.0 +* Arduino IDE 1.8.19, Arduino CLI 1.1.1 * ESP32 Boards 2.0.9 ``` diff --git a/examples/AutoBenchmark/micro.txt b/examples/AutoBenchmark/micro.txt index e78bf161b..c15e2075b 100644 --- a/examples/AutoBenchmark/micro.txt +++ b/examples/AutoBenchmark/micro.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 5 sizeof(TimeZoneData): 5 sizeof(ZonedDateTime): 17 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 25 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 20 @@ -16,10 +16,10 @@ Basic: sizeof(basic::ZoneRule): 9 sizeof(basic::ZonePolicy): 3 sizeof(basic::ZoneRegistrar): 5 - sizeof(BasicZoneProcessor): 143 - sizeof(BasicZoneProcessorCache<1>): 147 + sizeof(BasicZoneProcessor): 148 + sizeof(BasicZoneProcessorCache<1>): 152 sizeof(BasicZoneManager): 7 - sizeof(BasicZoneProcessor::Transition): 26 + sizeof(BasicZoneProcessor::Transition): 27 Extended: sizeof(extended::ZoneContext): 20 sizeof(extended::ZoneEra): 11 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 3 sizeof(extended::ZoneRegistrar): 5 - sizeof(ExtendedZoneProcessor): 553 - sizeof(ExtendedZoneProcessorCache<1>): 557 + sizeof(ExtendedZoneProcessor): 561 + sizeof(ExtendedZoneProcessorCache<1>): 565 sizeof(ExtendedZoneManager): 7 - sizeof(ExtendedZoneProcessor::Transition): 49 - sizeof(ExtendedZoneProcessor::TransitionStorage): 412 + sizeof(ExtendedZoneProcessor::Transition): 50 + sizeof(ExtendedZoneProcessor::TransitionStorage): 420 sizeof(ExtendedZoneProcessor::MatchingEra): 32 Complete: sizeof(complete::ZoneContext): 20 @@ -40,48 +40,48 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 3 sizeof(complete::ZoneRegistrar): 5 - sizeof(CompleteZoneProcessor): 553 - sizeof(CompleteZoneProcessorCache<1>): 557 + sizeof(CompleteZoneProcessor): 561 + sizeof(CompleteZoneProcessorCache<1>): 565 sizeof(CompleteZoneManager): 7 - sizeof(CompleteZoneProcessor::Transition): 49 - sizeof(CompleteZoneProcessor::TransitionStorage): 412 + sizeof(CompleteZoneProcessor::Transition): 50 + sizeof(CompleteZoneProcessor::TransitionStorage): 420 sizeof(CompleteZoneProcessor::MatchingEra): 32 BENCHMARKS EmptyLoop 3.000 -LocalDate::forEpochDays() 246.000 +LocalDate::forEpochDays() 245.000 LocalDate::toEpochDays() 51.000 -LocalDate::dayOfWeek() 49.000 -OffsetDateTime::forEpochSeconds() 366.000 -OffsetDateTime::toEpochSeconds() 74.000 +LocalDate::dayOfWeek() 50.000 +OffsetDateTime::forEpochSeconds() 365.000 +OffsetDateTime::toEpochSeconds() 76.000 ZonedDateTime::toEpochSeconds() 75.000 ZonedDateTime::toEpochDays() 65.000 ZonedDateTime::forEpochSeconds(UTC) 396.000 -ZonedDateTime::forEpochSeconds(Basic_nocache) 1721.000 -ZonedDateTime::forEpochSeconds(Basic_cached) 711.000 +ZonedDateTime::forEpochSeconds(Basic_nocache) 1737.000 +ZonedDateTime::forEpochSeconds(Basic_cached) 712.000 ZonedDateTime::forEpochSeconds(Extended_nocache) -1 ZonedDateTime::forEpochSeconds(Extended_cached) -1 ZonedDateTime::forEpochSeconds(Complete_nocache) -1 ZonedDateTime::forEpochSeconds(Complete_cached) -1 -ZonedDateTime::forComponents(Basic_nocache) 2265.000 +ZonedDateTime::forComponents(Basic_nocache) 2281.000 ZonedDateTime::forComponents(Basic_cached) 1261.000 ZonedDateTime::forComponents(Extended_nocache) -1 ZonedDateTime::forComponents(Extended_cached) -1 ZonedDateTime::forComponents(Complete_nocache) -1 ZonedDateTime::forComponents(Complete_cached) -1 -ZonedExtra::forEpochSeconds(Basic_nocache) 1395.000 -ZonedExtra::forEpochSeconds(Basic_cached) 382.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 1411.000 +ZonedExtra::forEpochSeconds(Basic_cached) 383.000 ZonedExtra::forEpochSeconds(Extended_nocache) -1 ZonedExtra::forEpochSeconds(Extended_cached) -1 ZonedExtra::forEpochSeconds(Complete_nocache) -1 ZonedExtra::forEpochSeconds(Complete_cached) -1 -ZonedExtra::forComponents(Basic_nocache) 2287.000 -ZonedExtra::forComponents(Basic_cached) 1286.000 +ZonedExtra::forComponents(Basic_nocache) 2307.000 +ZonedExtra::forComponents(Basic_cached) 1287.000 ZonedExtra::forComponents(Extended_nocache) -1 ZonedExtra::forComponents(Extended_cached) -1 ZonedExtra::forComponents(Complete_nocache) -1 ZonedExtra::forComponents(Complete_cached) -1 BasicZoneRegistrar::findIndexForName(binary) 118.000 -BasicZoneRegistrar::findIndexForIdBinary() 46.000 +BasicZoneRegistrar::findIndexForIdBinary() 47.000 BasicZoneRegistrar::findIndexForIdLinear() 301.000 ExtendedZoneRegistrar::findIndexForName(binary) -1 ExtendedZoneRegistrar::findIndexForIdBinary() -1 diff --git a/examples/AutoBenchmark/nano.txt b/examples/AutoBenchmark/nano.txt index 4d55842e9..521042f22 100644 --- a/examples/AutoBenchmark/nano.txt +++ b/examples/AutoBenchmark/nano.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 5 sizeof(TimeZoneData): 5 sizeof(ZonedDateTime): 17 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 25 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 20 @@ -16,10 +16,10 @@ Basic: sizeof(basic::ZoneRule): 9 sizeof(basic::ZonePolicy): 3 sizeof(basic::ZoneRegistrar): 5 - sizeof(BasicZoneProcessor): 143 - sizeof(BasicZoneProcessorCache<1>): 147 + sizeof(BasicZoneProcessor): 148 + sizeof(BasicZoneProcessorCache<1>): 152 sizeof(BasicZoneManager): 7 - sizeof(BasicZoneProcessor::Transition): 26 + sizeof(BasicZoneProcessor::Transition): 27 Extended: sizeof(extended::ZoneContext): 20 sizeof(extended::ZoneEra): 11 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 3 sizeof(extended::ZoneRegistrar): 5 - sizeof(ExtendedZoneProcessor): 553 - sizeof(ExtendedZoneProcessorCache<1>): 557 + sizeof(ExtendedZoneProcessor): 561 + sizeof(ExtendedZoneProcessorCache<1>): 565 sizeof(ExtendedZoneManager): 7 - sizeof(ExtendedZoneProcessor::Transition): 49 - sizeof(ExtendedZoneProcessor::TransitionStorage): 412 + sizeof(ExtendedZoneProcessor::Transition): 50 + sizeof(ExtendedZoneProcessor::TransitionStorage): 420 sizeof(ExtendedZoneProcessor::MatchingEra): 32 Complete: sizeof(complete::ZoneContext): 20 @@ -40,11 +40,11 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 3 sizeof(complete::ZoneRegistrar): 5 - sizeof(CompleteZoneProcessor): 553 - sizeof(CompleteZoneProcessorCache<1>): 557 + sizeof(CompleteZoneProcessor): 561 + sizeof(CompleteZoneProcessorCache<1>): 565 sizeof(CompleteZoneManager): 7 - sizeof(CompleteZoneProcessor::Transition): 49 - sizeof(CompleteZoneProcessor::TransitionStorage): 412 + sizeof(CompleteZoneProcessor::Transition): 50 + sizeof(CompleteZoneProcessor::TransitionStorage): 420 sizeof(CompleteZoneProcessor::MatchingEra): 32 BENCHMARKS EmptyLoop 5.000 @@ -52,37 +52,37 @@ LocalDate::forEpochDays() 241.000 LocalDate::toEpochDays() 52.000 LocalDate::dayOfWeek() 49.000 OffsetDateTime::forEpochSeconds() 361.000 -OffsetDateTime::toEpochSeconds() 78.000 +OffsetDateTime::toEpochSeconds() 77.000 ZonedDateTime::toEpochSeconds() 75.000 ZonedDateTime::toEpochDays() 63.000 ZonedDateTime::forEpochSeconds(UTC) 391.000 -ZonedDateTime::forEpochSeconds(Basic_nocache) 1710.000 -ZonedDateTime::forEpochSeconds(Basic_cached) 707.000 +ZonedDateTime::forEpochSeconds(Basic_nocache) 1727.000 +ZonedDateTime::forEpochSeconds(Basic_cached) 706.000 ZonedDateTime::forEpochSeconds(Extended_nocache) -1 ZonedDateTime::forEpochSeconds(Extended_cached) -1 ZonedDateTime::forEpochSeconds(Complete_nocache) -1 ZonedDateTime::forEpochSeconds(Complete_cached) -1 -ZonedDateTime::forComponents(Basic_nocache) 2252.000 -ZonedDateTime::forComponents(Basic_cached) 1254.000 +ZonedDateTime::forComponents(Basic_nocache) 2267.000 +ZonedDateTime::forComponents(Basic_cached) 1253.000 ZonedDateTime::forComponents(Extended_nocache) -1 ZonedDateTime::forComponents(Extended_cached) -1 ZonedDateTime::forComponents(Complete_nocache) -1 ZonedDateTime::forComponents(Complete_cached) -1 -ZonedExtra::forEpochSeconds(Basic_nocache) 1386.000 -ZonedExtra::forEpochSeconds(Basic_cached) 378.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 1403.000 +ZonedExtra::forEpochSeconds(Basic_cached) 379.000 ZonedExtra::forEpochSeconds(Extended_nocache) -1 ZonedExtra::forEpochSeconds(Extended_cached) -1 ZonedExtra::forEpochSeconds(Complete_nocache) -1 ZonedExtra::forEpochSeconds(Complete_cached) -1 -ZonedExtra::forComponents(Basic_nocache) 2276.000 +ZonedExtra::forComponents(Basic_nocache) 2293.000 ZonedExtra::forComponents(Basic_cached) 1277.000 ZonedExtra::forComponents(Extended_nocache) -1 ZonedExtra::forComponents(Extended_cached) -1 ZonedExtra::forComponents(Complete_nocache) -1 ZonedExtra::forComponents(Complete_cached) -1 -BasicZoneRegistrar::findIndexForName(binary) 118.000 -BasicZoneRegistrar::findIndexForIdBinary() 47.000 -BasicZoneRegistrar::findIndexForIdLinear() 299.000 +BasicZoneRegistrar::findIndexForName(binary) 120.000 +BasicZoneRegistrar::findIndexForIdBinary() 48.000 +BasicZoneRegistrar::findIndexForIdLinear() 300.000 ExtendedZoneRegistrar::findIndexForName(binary) -1 ExtendedZoneRegistrar::findIndexForIdBinary() -1 ExtendedZoneRegistrar::findIndexForIdLinear() -1 diff --git a/examples/AutoBenchmark/samd21.txt b/examples/AutoBenchmark/samd21.txt index 99bbd6b0a..2cc4223ac 100644 --- a/examples/AutoBenchmark/samd21.txt +++ b/examples/AutoBenchmark/samd21.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -40,54 +40,54 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 BENCHMARKS EmptyLoop 1.400 -LocalDate::forEpochDays() 11.600 -LocalDate::toEpochDays() 4.200 -LocalDate::dayOfWeek() 6.400 -OffsetDateTime::forEpochSeconds() 19.800 -OffsetDateTime::toEpochSeconds() 11.600 -ZonedDateTime::toEpochSeconds() 11.600 +LocalDate::forEpochDays() 11.800 +LocalDate::toEpochDays() 4.400 +LocalDate::dayOfWeek() 6.200 +OffsetDateTime::forEpochSeconds() 20.000 +OffsetDateTime::toEpochSeconds() 11.800 +ZonedDateTime::toEpochSeconds() 12.000 ZonedDateTime::toEpochDays() 9.400 ZonedDateTime::forEpochSeconds(UTC) 23.400 -ZonedDateTime::forEpochSeconds(Basic_nocache) 215.800 +ZonedDateTime::forEpochSeconds(Basic_nocache) 219.000 ZonedDateTime::forEpochSeconds(Basic_cached) 45.800 -ZonedDateTime::forEpochSeconds(Extended_nocache) 543.800 +ZonedDateTime::forEpochSeconds(Extended_nocache) 546.800 ZonedDateTime::forEpochSeconds(Extended_cached) 57.000 -ZonedDateTime::forEpochSeconds(Complete_nocache) 663.800 -ZonedDateTime::forEpochSeconds(Complete_cached) 56.800 -ZonedDateTime::forComponents(Basic_nocache) 272.800 -ZonedDateTime::forComponents(Basic_cached) 95.000 -ZonedDateTime::forComponents(Extended_nocache) 413.400 +ZonedDateTime::forEpochSeconds(Complete_nocache) 669.800 +ZonedDateTime::forEpochSeconds(Complete_cached) 57.000 +ZonedDateTime::forComponents(Basic_nocache) 276.800 +ZonedDateTime::forComponents(Basic_cached) 95.200 +ZonedDateTime::forComponents(Extended_nocache) 416.000 ZonedDateTime::forComponents(Extended_cached) 17.000 -ZonedDateTime::forComponents(Complete_nocache) 533.600 +ZonedDateTime::forComponents(Complete_nocache) 538.600 ZonedDateTime::forComponents(Complete_cached) 16.800 -ZonedExtra::forEpochSeconds(Basic_nocache) 197.400 -ZonedExtra::forEpochSeconds(Basic_cached) 27.400 -ZonedExtra::forEpochSeconds(Extended_nocache) 525.200 -ZonedExtra::forEpochSeconds(Extended_cached) 38.400 -ZonedExtra::forEpochSeconds(Complete_nocache) 644.800 -ZonedExtra::forEpochSeconds(Complete_cached) 38.400 -ZonedExtra::forComponents(Basic_nocache) 276.000 -ZonedExtra::forComponents(Basic_cached) 98.200 -ZonedExtra::forComponents(Extended_nocache) 416.800 -ZonedExtra::forComponents(Extended_cached) 20.200 -ZonedExtra::forComponents(Complete_nocache) 536.800 -ZonedExtra::forComponents(Complete_cached) 20.000 -BasicZoneRegistrar::findIndexForName(binary) 16.200 -BasicZoneRegistrar::findIndexForIdBinary() 4.200 -BasicZoneRegistrar::findIndexForIdLinear() 14.600 +ZonedExtra::forEpochSeconds(Basic_nocache) 201.000 +ZonedExtra::forEpochSeconds(Basic_cached) 28.000 +ZonedExtra::forEpochSeconds(Extended_nocache) 528.200 +ZonedExtra::forEpochSeconds(Extended_cached) 38.800 +ZonedExtra::forEpochSeconds(Complete_nocache) 651.000 +ZonedExtra::forEpochSeconds(Complete_cached) 38.800 +ZonedExtra::forComponents(Basic_nocache) 280.200 +ZonedExtra::forComponents(Basic_cached) 98.800 +ZonedExtra::forComponents(Extended_nocache) 419.400 +ZonedExtra::forComponents(Extended_cached) 20.400 +ZonedExtra::forComponents(Complete_nocache) 542.000 +ZonedExtra::forComponents(Complete_cached) 20.400 +BasicZoneRegistrar::findIndexForName(binary) 16.600 +BasicZoneRegistrar::findIndexForIdBinary() 4.000 +BasicZoneRegistrar::findIndexForIdLinear() 14.400 ExtendedZoneRegistrar::findIndexForName(binary) 16.600 -ExtendedZoneRegistrar::findIndexForIdBinary() 4.000 -ExtendedZoneRegistrar::findIndexForIdLinear() 14.200 -CompleteZoneRegistrar::findIndexForName(binary) 16.400 -CompleteZoneRegistrar::findIndexForIdBinary() 4.400 -CompleteZoneRegistrar::findIndexForIdLinear() 14.600 +ExtendedZoneRegistrar::findIndexForIdBinary() 4.200 +ExtendedZoneRegistrar::findIndexForIdLinear() 14.400 +CompleteZoneRegistrar::findIndexForName(binary) 16.600 +CompleteZoneRegistrar::findIndexForIdBinary() 4.200 +CompleteZoneRegistrar::findIndexForIdLinear() 14.400 Iterations_per_run 5000 END diff --git a/examples/AutoBenchmark/samd51.txt b/examples/AutoBenchmark/samd51.txt index 1aaf582e2..c9311306b 100644 --- a/examples/AutoBenchmark/samd51.txt +++ b/examples/AutoBenchmark/samd51.txt @@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -27,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -40,54 +40,54 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 BENCHMARKS EmptyLoop 0.400 LocalDate::forEpochDays() 1.400 -LocalDate::toEpochDays() 0.800 -LocalDate::dayOfWeek() 1.000 +LocalDate::toEpochDays() 0.600 +LocalDate::dayOfWeek() 0.600 OffsetDateTime::forEpochSeconds() 2.000 OffsetDateTime::toEpochSeconds() 2.400 -ZonedDateTime::toEpochSeconds() 2.400 +ZonedDateTime::toEpochSeconds() 2.200 ZonedDateTime::toEpochDays() 1.800 -ZonedDateTime::forEpochSeconds(UTC) 3.200 -ZonedDateTime::forEpochSeconds(Basic_nocache) 41.800 -ZonedDateTime::forEpochSeconds(Basic_cached) 6.200 -ZonedDateTime::forEpochSeconds(Extended_nocache) 110.200 +ZonedDateTime::forEpochSeconds(UTC) 3.000 +ZonedDateTime::forEpochSeconds(Basic_nocache) 43.600 +ZonedDateTime::forEpochSeconds(Basic_cached) 6.000 +ZonedDateTime::forEpochSeconds(Extended_nocache) 109.800 ZonedDateTime::forEpochSeconds(Extended_cached) 8.400 -ZonedDateTime::forEpochSeconds(Complete_nocache) 132.600 -ZonedDateTime::forEpochSeconds(Complete_cached) 8.000 -ZonedDateTime::forComponents(Basic_nocache) 52.800 +ZonedDateTime::forEpochSeconds(Complete_nocache) 133.800 +ZonedDateTime::forEpochSeconds(Complete_cached) 8.200 +ZonedDateTime::forComponents(Basic_nocache) 54.200 ZonedDateTime::forComponents(Basic_cached) 17.800 -ZonedDateTime::forComponents(Extended_nocache) 89.200 +ZonedDateTime::forComponents(Extended_nocache) 88.400 ZonedDateTime::forComponents(Extended_cached) 3.800 -ZonedDateTime::forComponents(Complete_nocache) 109.400 +ZonedDateTime::forComponents(Complete_nocache) 111.200 ZonedDateTime::forComponents(Complete_cached) 3.600 -ZonedExtra::forEpochSeconds(Basic_nocache) 39.800 -ZonedExtra::forEpochSeconds(Basic_cached) 4.200 -ZonedExtra::forEpochSeconds(Extended_nocache) 107.800 -ZonedExtra::forEpochSeconds(Extended_cached) 6.200 -ZonedExtra::forEpochSeconds(Complete_nocache) 129.400 -ZonedExtra::forEpochSeconds(Complete_cached) 6.200 -ZonedExtra::forComponents(Basic_nocache) 53.000 -ZonedExtra::forComponents(Basic_cached) 18.000 -ZonedExtra::forComponents(Extended_nocache) 88.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 41.800 +ZonedExtra::forEpochSeconds(Basic_cached) 4.400 +ZonedExtra::forEpochSeconds(Extended_nocache) 107.000 +ZonedExtra::forEpochSeconds(Extended_cached) 6.400 +ZonedExtra::forEpochSeconds(Complete_nocache) 130.800 +ZonedExtra::forEpochSeconds(Complete_cached) 6.400 +ZonedExtra::forComponents(Basic_nocache) 54.800 +ZonedExtra::forComponents(Basic_cached) 17.800 +ZonedExtra::forComponents(Extended_nocache) 87.800 ZonedExtra::forComponents(Extended_cached) 3.800 -ZonedExtra::forComponents(Complete_nocache) 108.800 +ZonedExtra::forComponents(Complete_nocache) 111.800 ZonedExtra::forComponents(Complete_cached) 4.000 -BasicZoneRegistrar::findIndexForName(binary) 4.800 +BasicZoneRegistrar::findIndexForName(binary) 5.000 BasicZoneRegistrar::findIndexForIdBinary() 1.200 BasicZoneRegistrar::findIndexForIdLinear() 4.000 ExtendedZoneRegistrar::findIndexForName(binary) 4.600 -ExtendedZoneRegistrar::findIndexForIdBinary() 1.200 +ExtendedZoneRegistrar::findIndexForIdBinary() 1.400 ExtendedZoneRegistrar::findIndexForIdLinear() 3.800 CompleteZoneRegistrar::findIndexForName(binary) 5.000 -CompleteZoneRegistrar::findIndexForIdBinary() 1.400 -CompleteZoneRegistrar::findIndexForIdLinear() 4.200 +CompleteZoneRegistrar::findIndexForIdBinary() 1.200 +CompleteZoneRegistrar::findIndexForIdLinear() 3.800 Iterations_per_run 5000 END diff --git a/examples/AutoBenchmark/stm32.txt b/examples/AutoBenchmark/stm32.txt index c308d96d7..e32cd1640 100644 --- a/examples/AutoBenchmark/stm32.txt +++ b/examples/AutoBenchmark/stm32.txt @@ -1,3 +1,5 @@ +SIZEOF +sizeof(LocalDate): 4 sizeof(LocalTime): 4 sizeof(LocalDateTime): 8 sizeof(TimeOffset): 4 @@ -5,7 +7,7 @@ sizeof(OffsetDateTime): 12 sizeof(TimeZone): 12 sizeof(TimeZoneData): 8 sizeof(ZonedDateTime): 24 -sizeof(ZonedExtra): 24 +sizeof(ZonedExtra): 28 sizeof(TimePeriod): 4 Basic: sizeof(basic::ZoneContext): 28 @@ -25,11 +27,11 @@ Extended: sizeof(extended::ZoneRule): 9 sizeof(extended::ZonePolicy): 8 sizeof(extended::ZoneRegistrar): 8 - sizeof(ExtendedZoneProcessor): 720 - sizeof(ExtendedZoneProcessorCache<1>): 728 + sizeof(ExtendedZoneProcessor): 752 + sizeof(ExtendedZoneProcessorCache<1>): 760 sizeof(ExtendedZoneManager): 12 - sizeof(ExtendedZoneProcessor::Transition): 60 - sizeof(ExtendedZoneProcessor::TransitionStorage): 516 + sizeof(ExtendedZoneProcessor::Transition): 64 + sizeof(ExtendedZoneProcessor::TransitionStorage): 548 sizeof(ExtendedZoneProcessor::MatchingEra): 44 Complete: sizeof(complete::ZoneContext): 28 @@ -38,54 +40,54 @@ Complete: sizeof(complete::ZoneRule): 12 sizeof(complete::ZonePolicy): 8 sizeof(complete::ZoneRegistrar): 8 - sizeof(CompleteZoneProcessor): 720 - sizeof(CompleteZoneProcessorCache<1>): 728 + sizeof(CompleteZoneProcessor): 752 + sizeof(CompleteZoneProcessorCache<1>): 760 sizeof(CompleteZoneManager): 12 - sizeof(CompleteZoneProcessor::Transition): 60 - sizeof(CompleteZoneProcessor::TransitionStorage): 516 + sizeof(CompleteZoneProcessor::Transition): 64 + sizeof(CompleteZoneProcessor::TransitionStorage): 548 sizeof(CompleteZoneProcessor::MatchingEra): 44 BENCHMARKS EmptyLoop 1.200 LocalDate::forEpochDays() 2.800 LocalDate::toEpochDays() 1.200 -LocalDate::dayOfWeek() 1.800 +LocalDate::dayOfWeek() 1.400 OffsetDateTime::forEpochSeconds() 4.400 OffsetDateTime::toEpochSeconds() 4.600 -ZonedDateTime::toEpochSeconds() 4.400 -ZonedDateTime::toEpochDays() 3.000 +ZonedDateTime::toEpochSeconds() 4.600 +ZonedDateTime::toEpochDays() 3.200 ZonedDateTime::forEpochSeconds(UTC) 6.400 -ZonedDateTime::forEpochSeconds(Basic_nocache) 91.000 -ZonedDateTime::forEpochSeconds(Basic_cached) 12.600 -ZonedDateTime::forEpochSeconds(Extended_nocache) 239.400 +ZonedDateTime::forEpochSeconds(Basic_nocache) 92.400 +ZonedDateTime::forEpochSeconds(Basic_cached) 12.800 +ZonedDateTime::forEpochSeconds(Extended_nocache) 242.600 ZonedDateTime::forEpochSeconds(Extended_cached) 17.200 -ZonedDateTime::forEpochSeconds(Complete_nocache) 298.000 +ZonedDateTime::forEpochSeconds(Complete_nocache) 301.600 ZonedDateTime::forEpochSeconds(Complete_cached) 17.200 -ZonedDateTime::forComponents(Basic_nocache) 112.800 -ZonedDateTime::forComponents(Basic_cached) 36.000 -ZonedDateTime::forComponents(Extended_nocache) 190.200 -ZonedDateTime::forComponents(Extended_cached) 7.800 -ZonedDateTime::forComponents(Complete_nocache) 248.800 +ZonedDateTime::forComponents(Basic_nocache) 114.600 +ZonedDateTime::forComponents(Basic_cached) 36.600 +ZonedDateTime::forComponents(Extended_nocache) 193.200 +ZonedDateTime::forComponents(Extended_cached) 7.600 +ZonedDateTime::forComponents(Complete_nocache) 252.600 ZonedDateTime::forComponents(Complete_cached) 7.600 -ZonedExtra::forEpochSeconds(Basic_nocache) 88.000 -ZonedExtra::forEpochSeconds(Basic_cached) 9.200 -ZonedExtra::forEpochSeconds(Extended_nocache) 236.000 +ZonedExtra::forEpochSeconds(Basic_nocache) 89.400 +ZonedExtra::forEpochSeconds(Basic_cached) 9.400 +ZonedExtra::forEpochSeconds(Extended_nocache) 239.000 ZonedExtra::forEpochSeconds(Extended_cached) 13.600 -ZonedExtra::forEpochSeconds(Complete_nocache) 294.400 +ZonedExtra::forEpochSeconds(Complete_nocache) 298.200 ZonedExtra::forEpochSeconds(Complete_cached) 13.800 -ZonedExtra::forComponents(Basic_nocache) 113.400 -ZonedExtra::forComponents(Basic_cached) 37.000 -ZonedExtra::forComponents(Extended_nocache) 191.000 +ZonedExtra::forComponents(Basic_nocache) 115.400 +ZonedExtra::forComponents(Basic_cached) 37.400 +ZonedExtra::forComponents(Extended_nocache) 194.000 ZonedExtra::forComponents(Extended_cached) 8.600 -ZonedExtra::forComponents(Complete_nocache) 249.800 +ZonedExtra::forComponents(Complete_nocache) 253.600 ZonedExtra::forComponents(Complete_cached) 8.400 -BasicZoneRegistrar::findIndexForName(binary) 13.800 +BasicZoneRegistrar::findIndexForName(binary) 13.400 BasicZoneRegistrar::findIndexForIdBinary() 2.600 BasicZoneRegistrar::findIndexForIdLinear() 17.000 -ExtendedZoneRegistrar::findIndexForName(binary) 13.600 -ExtendedZoneRegistrar::findIndexForIdBinary() 2.200 +ExtendedZoneRegistrar::findIndexForName(binary) 13.800 +ExtendedZoneRegistrar::findIndexForIdBinary() 2.400 ExtendedZoneRegistrar::findIndexForIdLinear() 16.400 CompleteZoneRegistrar::findIndexForName(binary) 13.600 CompleteZoneRegistrar::findIndexForIdBinary() 2.400 -CompleteZoneRegistrar::findIndexForIdLinear() 17.000 +CompleteZoneRegistrar::findIndexForIdLinear() 16.800 Iterations_per_run 5000 END From f16adde6241b5925f89e05e18b5fb68a2d352c36 Mon Sep 17 00:00:00 2001 From: Brian Park Date: Fri, 13 Dec 2024 17:02:30 -0800 Subject: [PATCH 10/10] docs: regenerate doxygen docs --- docs/html/AceTime_8h_source.html | 91 +- docs/html/BasicZoneProcessor_8h_source.html | 1318 +- docs/html/BasicZone_8cpp_source.html | 2 +- docs/html/BasicZone_8h_source.html | 4 +- docs/html/BrokerCommon_8cpp_source.html | 2 +- docs/html/BrokerCommon_8h.html | 2 +- docs/html/BrokerCommon_8h_source.html | 2 +- docs/html/BrokersHigh_8h.html | 10 +- docs/html/BrokersHigh_8h__incl.map | 2 +- docs/html/BrokersHigh_8h__incl.md5 | 2 +- docs/html/BrokersHigh_8h_source.html | 5 +- docs/html/BrokersLow_8h.html | 10 +- docs/html/BrokersLow_8h__incl.map | 2 +- docs/html/BrokersLow_8h__incl.md5 | 2 +- docs/html/BrokersLow_8h_source.html | 5 +- docs/html/BrokersMid_8h.html | 10 +- docs/html/BrokersMid_8h__incl.map | 2 +- docs/html/BrokersMid_8h__incl.md5 | 2 +- docs/html/BrokersMid_8h_source.html | 5 +- .../html/CompleteZoneProcessor_8h_source.html | 4 +- docs/html/CompleteZone_8cpp_source.html | 2 +- docs/html/CompleteZone_8h_source.html | 4 +- docs/html/DateConv_8cpp_source.html | 97 + docs/html/DateConv_8h_source.html | 99 + docs/html/DateStrings_8cpp_source.html | 2 +- docs/html/DateStrings_8h_source.html | 2 +- docs/html/DateTuple_8h_source.html | 8 +- .../html/EpochConverterHinnant_8h_source.html | 2 +- docs/html/EpochConverterJulian_8h_source.html | 2 +- docs/html/Epoch_8cpp_source.html | 2 +- docs/html/Epoch_8h_source.html | 2 +- .../html/ExtendedZoneProcessor_8h_source.html | 135 +- docs/html/ExtendedZone_8cpp_source.html | 2 +- docs/html/ExtendedZone_8h_source.html | 4 +- docs/html/LocalDateTime_8cpp_source.html | 2 +- docs/html/LocalDateTime_8h_source.html | 2 +- docs/html/LocalDate_8cpp_source.html | 2 +- docs/html/LocalDate_8h_source.html | 2 +- docs/html/LocalTime_8cpp_source.html | 2 +- docs/html/LocalTime_8h_source.html | 2 +- docs/html/OffsetDateTime_8cpp_source.html | 2 +- docs/html/OffsetDateTime_8h_source.html | 2 +- docs/html/TimeOffset_8cpp_source.html | 2 +- docs/html/TimeOffset_8h_source.html | 2 +- docs/html/TimePeriod_8cpp_source.html | 2 +- docs/html/TimePeriod_8h_source.html | 2 +- docs/html/TimeZoneData_8h_source.html | 2 +- docs/html/TimeZone_8cpp_source.html | 2 +- docs/html/TimeZone_8h_source.html | 10 +- docs/html/Transition_8h_source.html | 932 +- docs/html/ZoneInfoHigh_8h.html | 181 + docs/html/ZoneInfoHigh_8h__dep__incl.map | 52 + docs/html/ZoneInfoHigh_8h__dep__incl.md5 | 1 + docs/html/ZoneInfoHigh_8h__dep__incl.png | Bin 0 -> 497817 bytes docs/html/ZoneInfoHigh_8h__incl.map | 4 + docs/html/ZoneInfoHigh_8h__incl.md5 | 1 + docs/html/ZoneInfoHigh_8h__incl.png | Bin 0 -> 4555 bytes docs/html/ZoneInfoHigh_8h_source.html | 296 +- docs/html/ZoneInfoLow_8h.html | 181 + docs/html/ZoneInfoLow_8h__dep__incl.map | 52 + docs/html/ZoneInfoLow_8h__dep__incl.md5 | 1 + docs/html/ZoneInfoLow_8h__dep__incl.png | Bin 0 -> 503053 bytes docs/html/ZoneInfoLow_8h__incl.map | 4 + docs/html/ZoneInfoLow_8h__incl.md5 | 1 + docs/html/ZoneInfoLow_8h__incl.png | Bin 0 -> 4595 bytes docs/html/ZoneInfoLow_8h_source.html | 320 +- docs/html/ZoneInfoMid_8h.html | 181 + docs/html/ZoneInfoMid_8h__dep__incl.map | 52 + docs/html/ZoneInfoMid_8h__dep__incl.md5 | 1 + docs/html/ZoneInfoMid_8h__dep__incl.png | Bin 0 -> 503146 bytes docs/html/ZoneInfoMid_8h__incl.map | 4 + docs/html/ZoneInfoMid_8h__incl.md5 | 1 + docs/html/ZoneInfoMid_8h__incl.png | Bin 0 -> 4625 bytes docs/html/ZoneInfoMid_8h_source.html | 302 +- docs/html/ZoneManager_8h_source.html | 2 +- docs/html/ZoneProcessorCache_8h_source.html | 6 +- docs/html/ZoneProcessor_8cpp_source.html | 203 +- docs/html/ZoneProcessor_8h_source.html | 25 +- docs/html/ZoneRegistrar_8h_source.html | 2 +- docs/html/ZoneSorterByName_8h_source.html | 2 +- .../ZoneSorterByOffsetAndName_8h_source.html | 2 +- docs/html/ZonedDateTime_8cpp_source.html | 2 +- docs/html/ZonedDateTime_8h_source.html | 2 +- docs/html/ZonedExtra_8cpp_source.html | 2 +- docs/html/ZonedExtra_8h_source.html | 2 +- docs/html/ace__time__utils_8h_source.html | 2 +- docs/html/annotated.html | 2 +- docs/html/brokers_8h.html | 8 +- docs/html/brokers_8h__incl.map | 6 +- docs/html/brokers_8h__incl.md5 | 2 +- docs/html/brokers_8h_source.html | 22 +- .../classace__time_1_1BasicZone-members.html | 2 +- docs/html/classace__time_1_1BasicZone.html | 2 +- ...e__time_1_1BasicZoneProcessor-members.html | 2 +- .../classace__time_1_1BasicZoneProcessor.html | 4 +- ...me_1_1BasicZoneProcessorCache-members.html | 2 +- ...sace__time_1_1BasicZoneProcessorCache.html | 2 +- ...1_1BasicZoneProcessorTemplate-members.html | 57 +- ...e__time_1_1BasicZoneProcessorTemplate.html | 23 +- ...lassace__time_1_1CompleteZone-members.html | 2 +- docs/html/classace__time_1_1CompleteZone.html | 2 +- ...time_1_1CompleteZoneProcessor-members.html | 2 +- ...assace__time_1_1CompleteZoneProcessor.html | 2 +- ...1_1CompleteZoneProcessorCache-members.html | 2 +- ...e__time_1_1CompleteZoneProcessorCache.html | 2 +- ...classace__time_1_1DateStrings-members.html | 2 +- docs/html/classace__time_1_1DateStrings.html | 2 +- .../html/classace__time_1_1Epoch-members.html | 2 +- docs/html/classace__time_1_1Epoch.html | 2 +- ...lassace__time_1_1ExtendedZone-members.html | 2 +- docs/html/classace__time_1_1ExtendedZone.html | 2 +- ...time_1_1ExtendedZoneProcessor-members.html | 2 +- ...assace__time_1_1ExtendedZoneProcessor.html | 4 +- ...1_1ExtendedZoneProcessorCache-members.html | 2 +- ...e__time_1_1ExtendedZoneProcessorCache.html | 2 +- ...ExtendedZoneProcessorTemplate-members.html | 2 +- ...time_1_1ExtendedZoneProcessorTemplate.html | 2 +- .../classace__time_1_1FindResult-members.html | 2 +- docs/html/classace__time_1_1FindResult.html | 2 +- .../classace__time_1_1LocalDate-members.html | 2 +- docs/html/classace__time_1_1LocalDate.html | 2 +- ...assace__time_1_1LocalDateTime-members.html | 2 +- .../html/classace__time_1_1LocalDateTime.html | 2 +- .../classace__time_1_1LocalTime-members.html | 2 +- docs/html/classace__time_1_1LocalTime.html | 2 +- ...ce__time_1_1ManualZoneManager-members.html | 2 +- .../classace__time_1_1ManualZoneManager.html | 2 +- ...ssace__time_1_1OffsetDateTime-members.html | 2 +- .../classace__time_1_1OffsetDateTime.html | 2 +- .../classace__time_1_1TimeOffset-members.html | 2 +- docs/html/classace__time_1_1TimeOffset.html | 2 +- .../classace__time_1_1TimePeriod-members.html | 2 +- docs/html/classace__time_1_1TimePeriod.html | 2 +- .../classace__time_1_1TimeZone-members.html | 2 +- docs/html/classace__time_1_1TimeZone.html | 2 +- ...classace__time_1_1ZoneManager-members.html | 2 +- docs/html/classace__time_1_1ZoneManager.html | 2 +- ...__time_1_1ZoneManagerTemplate-members.html | 2 +- ...classace__time_1_1ZoneManagerTemplate.html | 2 +- ...assace__time_1_1ZoneProcessor-members.html | 2 +- .../html/classace__time_1_1ZoneProcessor.html | 2 +- ...oneProcessorCacheBaseTemplate-members.html | 2 +- ...ime_1_1ZoneProcessorCacheBaseTemplate.html | 2 +- ...ace__time_1_1ZoneSorterByName-members.html | 2 +- .../classace__time_1_1ZoneSorterByName.html | 2 +- ..._1_1ZoneSorterByOffsetAndName-members.html | 2 +- ...ce__time_1_1ZoneSorterByOffsetAndName.html | 2 +- ...assace__time_1_1ZonedDateTime-members.html | 2 +- .../html/classace__time_1_1ZonedDateTime.html | 2 +- .../classace__time_1_1ZonedExtra-members.html | 2 +- docs/html/classace__time_1_1ZonedExtra.html | 2 +- .../classace__time_1_1basic_1_1Basic.html | 2 +- ...lassace__time_1_1complete_1_1Complete.html | 2 +- ...lassace__time_1_1extended_1_1Extended.html | 2 +- ..._1_1TransitionStorageTemplate-members.html | 2 +- ...extended_1_1TransitionStorageTemplate.html | 36 +- ...rnal_1_1EpochConverterHinnant-members.html | 2 +- ..._1_1internal_1_1EpochConverterHinnant.html | 2 +- ...ernal_1_1EpochConverterJulian-members.html | 2 +- ...e_1_1internal_1_1EpochConverterJulian.html | 2 +- ...rnal_1_1ZoneRegistrarTemplate-members.html | 2 +- ..._1_1internal_1_1ZoneRegistrarTemplate.html | 2 +- ...infohigh_1_1ZoneContextBroker-members.html | 2 +- ..._1_1zoneinfohigh_1_1ZoneContextBroker.html | 2 +- ...zoneinfohigh_1_1ZoneEraBroker-members.html | 2 +- ...time_1_1zoneinfohigh_1_1ZoneEraBroker.html | 2 +- ...oneinfohigh_1_1ZoneInfoBroker-members.html | 2 +- ...ime_1_1zoneinfohigh_1_1ZoneInfoBroker.html | 2 +- ...zoneinfohigh_1_1ZoneInfoStore-members.html | 2 +- ...time_1_1zoneinfohigh_1_1ZoneInfoStore.html | 2 +- ...einfohigh_1_1ZonePolicyBroker-members.html | 2 +- ...e_1_1zoneinfohigh_1_1ZonePolicyBroker.html | 2 +- ...nfohigh_1_1ZoneRegistryBroker-members.html | 2 +- ...1_1zoneinfohigh_1_1ZoneRegistryBroker.html | 2 +- ...oneinfohigh_1_1ZoneRuleBroker-members.html | 2 +- ...ime_1_1zoneinfohigh_1_1ZoneRuleBroker.html | 2 +- ...einfolow_1_1ZoneContextBroker-members.html | 2 +- ...e_1_1zoneinfolow_1_1ZoneContextBroker.html | 2 +- ...1zoneinfolow_1_1ZoneEraBroker-members.html | 2 +- ..._time_1_1zoneinfolow_1_1ZoneEraBroker.html | 2 +- ...zoneinfolow_1_1ZoneInfoBroker-members.html | 2 +- ...time_1_1zoneinfolow_1_1ZoneInfoBroker.html | 2 +- ...1zoneinfolow_1_1ZoneInfoStore-members.html | 2 +- ..._time_1_1zoneinfolow_1_1ZoneInfoStore.html | 2 +- ...neinfolow_1_1ZonePolicyBroker-members.html | 2 +- ...me_1_1zoneinfolow_1_1ZonePolicyBroker.html | 2 +- ...infolow_1_1ZoneRegistryBroker-members.html | 2 +- ..._1_1zoneinfolow_1_1ZoneRegistryBroker.html | 2 +- ...zoneinfolow_1_1ZoneRuleBroker-members.html | 2 +- ...time_1_1zoneinfolow_1_1ZoneRuleBroker.html | 2 +- ...einfomid_1_1ZoneContextBroker-members.html | 2 +- ...e_1_1zoneinfomid_1_1ZoneContextBroker.html | 2 +- ...1zoneinfomid_1_1ZoneEraBroker-members.html | 2 +- ..._time_1_1zoneinfomid_1_1ZoneEraBroker.html | 2 +- ...zoneinfomid_1_1ZoneInfoBroker-members.html | 2 +- ...time_1_1zoneinfomid_1_1ZoneInfoBroker.html | 2 +- ...1zoneinfomid_1_1ZoneInfoStore-members.html | 2 +- ..._time_1_1zoneinfomid_1_1ZoneInfoStore.html | 2 +- ...neinfomid_1_1ZonePolicyBroker-members.html | 2 +- ...me_1_1zoneinfomid_1_1ZonePolicyBroker.html | 2 +- ...infomid_1_1ZoneRegistryBroker-members.html | 2 +- ..._1_1zoneinfomid_1_1ZoneRegistryBroker.html | 2 +- ...zoneinfomid_1_1ZoneRuleBroker-members.html | 2 +- ...time_1_1zoneinfomid_1_1ZoneRuleBroker.html | 2 +- docs/html/classes.html | 2 +- docs/html/common_8h.html | 16 +- docs/html/common_8h_source.html | 32 +- docs/html/compat_8cpp_source.html | 2 +- docs/html/compat_8h.html | 2 +- docs/html/compat_8h_source.html | 2 +- docs/html/dir_000001_000002.html | 2 +- docs/html/dir_000001_000009.html | 2 +- docs/html/dir_000002_000009.html | 2 +- docs/html/dir_000003_000009.html | 2 +- docs/html/dir_000004_000009.html | 2 +- docs/html/dir_000005_000009.html | 2 +- docs/html/dir_000006_000009.html | 2 +- docs/html/dir_000007_000009.html | 2 +- docs/html/dir_000008_000009.html | 2 +- .../dir_173dd563440c1e02d7e3957b90659cd7.html | 2 +- .../dir_4087a17cae141e7242c9415587ae2d90.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_7a1a7552e1d8deb84cc1a93cc0c01729.html | 2 +- .../dir_afb2025690de77b1a5b5001a410c869c.html | 2 +- .../dir_c458c1a7ede63e0a4ba7e7b60e917e99.html | 17 +- .../dir_c7bfe0a3afb08bf5f254efe82a01bb42.html | 2 +- .../dir_d45698bd535a97711c8831def10fdb23.html | 2 +- .../dir_df365f82d286718794421f21703d15ef.html | 2 +- .../dir_df46910787f3e07390b8f19cc6a1d1b6.html | 2 +- docs/html/files.html | 22 +- docs/html/functions.html | 2 +- docs/html/functions_b.html | 2 +- docs/html/functions_c.html | 2 +- docs/html/functions_d.html | 2 +- docs/html/functions_e.html | 2 +- docs/html/functions_f.html | 2 +- docs/html/functions_func.html | 2 +- docs/html/functions_func_b.html | 2 +- docs/html/functions_func_c.html | 2 +- docs/html/functions_func_d.html | 2 +- docs/html/functions_func_e.html | 2 +- docs/html/functions_func_f.html | 2 +- docs/html/functions_func_g.html | 2 +- docs/html/functions_func_h.html | 2 +- docs/html/functions_func_i.html | 2 +- docs/html/functions_func_k.html | 2 +- docs/html/functions_func_l.html | 2 +- docs/html/functions_func_m.html | 2 +- docs/html/functions_func_n.html | 2 +- docs/html/functions_func_o.html | 2 +- docs/html/functions_func_p.html | 2 +- docs/html/functions_func_r.html | 2 +- docs/html/functions_func_s.html | 2 +- docs/html/functions_func_t.html | 2 +- docs/html/functions_func_y.html | 2 +- docs/html/functions_func_z.html | 2 +- docs/html/functions_g.html | 2 +- docs/html/functions_h.html | 2 +- docs/html/functions_i.html | 2 +- docs/html/functions_k.html | 2 +- docs/html/functions_l.html | 2 +- docs/html/functions_m.html | 2 +- docs/html/functions_n.html | 2 +- docs/html/functions_o.html | 2 +- docs/html/functions_p.html | 2 +- docs/html/functions_r.html | 2 +- docs/html/functions_rela.html | 2 +- docs/html/functions_s.html | 2 +- docs/html/functions_t.html | 2 +- docs/html/functions_type.html | 2 +- docs/html/functions_u.html | 2 +- docs/html/functions_vars.html | 2 +- docs/html/functions_vars_b.html | 2 +- docs/html/functions_vars_c.html | 2 +- docs/html/functions_vars_d.html | 2 +- docs/html/functions_vars_e.html | 2 +- docs/html/functions_vars_f.html | 2 +- docs/html/functions_vars_i.html | 2 +- docs/html/functions_vars_k.html | 2 +- docs/html/functions_vars_l.html | 2 +- docs/html/functions_vars_m.html | 2 +- docs/html/functions_vars_n.html | 2 +- docs/html/functions_vars_o.html | 2 +- docs/html/functions_vars_p.html | 2 +- docs/html/functions_vars_r.html | 2 +- docs/html/functions_vars_s.html | 2 +- docs/html/functions_vars_t.html | 2 +- docs/html/functions_vars_u.html | 2 +- docs/html/functions_vars_y.html | 2 +- docs/html/functions_vars_z.html | 2 +- docs/html/functions_y.html | 2 +- docs/html/functions_z.html | 2 +- docs/html/globals.html | 2 +- docs/html/globals_defs.html | 2 +- docs/html/graph_legend.html | 2 +- docs/html/hierarchy.html | 2 +- docs/html/index.html | 2 +- docs/html/infos_8h_source.html | 31 +- docs/html/inherits.html | 2 +- .../html/local__date__mutation_8h_source.html | 2 +- docs/html/logging_8h_source.html | 2 +- .../html/offset__date__time__mutation_8h.html | 2 +- ...ffset__date__time__mutation_8h_source.html | 2 +- docs/html/search/all_10.js | 34 +- docs/html/search/all_11.js | 23 +- docs/html/search/all_14.js | 47 +- docs/html/search/all_a.js | 13 +- docs/html/search/all_b.js | 30 +- docs/html/search/all_c.js | 14 +- docs/html/search/all_d.js | 20 +- docs/html/search/all_e.js | 16 +- docs/html/search/all_f.js | 20 +- docs/html/search/classes_0.js | 12 +- docs/html/search/classes_1.js | 8 +- docs/html/search/classes_2.js | 4 +- docs/html/search/classes_3.js | 20 +- docs/html/search/classes_4.js | 2 +- docs/html/search/classes_5.js | 6 +- docs/html/search/classes_6.js | 6 +- docs/html/search/classes_7.js | 2 +- docs/html/search/classes_8.js | 18 +- docs/html/search/classes_9.js | 2 +- docs/html/search/classes_a.js | 46 +- docs/html/search/defines_0.js | 2 +- docs/html/search/files_0.js | 10 +- docs/html/search/files_1.js | 4 +- docs/html/search/files_2.js | 2 +- docs/html/search/files_3.js | 4 +- docs/html/search/files_4.js | 5 +- docs/html/search/functions_0.js | 10 +- docs/html/search/functions_1.js | 6 +- docs/html/search/functions_10.js | 24 +- docs/html/search/functions_11.js | 50 +- docs/html/search/functions_12.js | 2 +- docs/html/search/functions_13.js | 18 +- docs/html/search/functions_2.js | 26 +- docs/html/search/functions_3.js | 18 +- docs/html/search/functions_4.js | 12 +- docs/html/search/functions_5.js | 68 +- docs/html/search/functions_6.js | 32 +- docs/html/search/functions_7.js | 2 +- docs/html/search/functions_8.js | 42 +- docs/html/search/functions_9.js | 2 +- docs/html/search/functions_a.js | 20 +- docs/html/search/functions_b.js | 8 +- docs/html/search/functions_c.js | 4 +- docs/html/search/functions_d.js | 4 +- docs/html/search/functions_e.js | 12 +- docs/html/search/functions_f.js | 14 +- docs/html/search/pages_0.js | 2 +- docs/html/search/related_0.js | 2 +- docs/html/search/typedefs_0.js | 2 +- docs/html/search/typedefs_1.js | 2 +- docs/html/search/typedefs_2.js | 8 +- docs/html/search/typedefs_3.js | 14 +- docs/html/search/variables_0.js | 6 +- docs/html/search/variables_1.js | 2 +- docs/html/search/variables_10.js | 14 +- docs/html/search/variables_11.js | 2 +- docs/html/search/variables_12.js | 6 +- docs/html/search/variables_2.js | 4 +- docs/html/search/variables_3.js | 8 +- docs/html/search/variables_4.js | 4 +- docs/html/search/variables_5.js | 8 +- docs/html/search/variables_6.js | 4 +- docs/html/search/variables_7.js | 90 +- docs/html/search/variables_8.js | 8 +- docs/html/search/variables_9.js | 16 +- docs/html/search/variables_a.js | 10 +- docs/html/search/variables_b.js | 12 +- docs/html/search/variables_c.js | 4 +- docs/html/search/variables_d.js | 6 +- docs/html/search/variables_e.js | 10 +- docs/html/search/variables_f.js | 14 +- ...ructace__time_1_1TimeZoneData-members.html | 2 +- .../html/structace__time_1_1TimeZoneData.html | 2 +- ..._1basic_1_1TransitionTemplate-members.html | 2 +- ...__time_1_1basic_1_1TransitionTemplate.html | 38 +- ...time_1_1extended_1_1DateTuple-members.html | 2 +- ...uctace__time_1_1extended_1_1DateTuple.html | 2 +- ...tended_1_1MatchingEraTemplate-members.html | 2 +- ...me_1_1extended_1_1MatchingEraTemplate.html | 2 +- ...TransitionForDateTimeTemplate-members.html | 2 +- ...nded_1_1TransitionForDateTimeTemplate.html | 4 +- ...1TransitionForSecondsTemplate-members.html | 2 +- ...ended_1_1TransitionForSecondsTemplate.html | 6 +- ...xtended_1_1TransitionTemplate-members.html | 2 +- ...ime_1_1extended_1_1TransitionTemplate.html | 36 +- ...1_1extended_1_1YearMonthTuple-members.html | 2 +- ...e__time_1_1extended_1_1YearMonthTuple.html | 2 +- ..._time_1_1internal_1_1MonthDay-members.html | 2 +- ...ructace__time_1_1internal_1_1MonthDay.html | 2 +- ..._1zoneinfohigh_1_1ZoneContext-members.html | 2 +- ...__time_1_1zoneinfohigh_1_1ZoneContext.html | 16 +- ...me_1_1zoneinfohigh_1_1ZoneEra-members.html | 2 +- ...tace__time_1_1zoneinfohigh_1_1ZoneEra.html | 30 +- ...e_1_1zoneinfohigh_1_1ZoneInfo-members.html | 2 +- ...ace__time_1_1zoneinfohigh_1_1ZoneInfo.html | 12 +- ...1_1zoneinfohigh_1_1ZonePolicy-members.html | 2 +- ...e__time_1_1zoneinfohigh_1_1ZonePolicy.html | 4 +- ...e_1_1zoneinfohigh_1_1ZoneRule-members.html | 2 +- ...ace__time_1_1zoneinfohigh_1_1ZoneRule.html | 18 +- ...1_1zoneinfolow_1_1ZoneContext-members.html | 2 +- ...e__time_1_1zoneinfolow_1_1ZoneContext.html | 14 +- ...ime_1_1zoneinfolow_1_1ZoneEra-members.html | 2 +- ...ctace__time_1_1zoneinfolow_1_1ZoneEra.html | 30 +- ...me_1_1zoneinfolow_1_1ZoneInfo-members.html | 2 +- ...tace__time_1_1zoneinfolow_1_1ZoneInfo.html | 12 +- ..._1_1zoneinfolow_1_1ZonePolicy-members.html | 2 +- ...ce__time_1_1zoneinfolow_1_1ZonePolicy.html | 4 +- ...me_1_1zoneinfolow_1_1ZoneRule-members.html | 2 +- ...tace__time_1_1zoneinfolow_1_1ZoneRule.html | 18 +- ...1_1zoneinfomid_1_1ZoneContext-members.html | 2 +- ...e__time_1_1zoneinfomid_1_1ZoneContext.html | 16 +- ...ime_1_1zoneinfomid_1_1ZoneEra-members.html | 2 +- ...ctace__time_1_1zoneinfomid_1_1ZoneEra.html | 28 +- ...me_1_1zoneinfomid_1_1ZoneInfo-members.html | 2 +- ...tace__time_1_1zoneinfomid_1_1ZoneInfo.html | 12 +- ..._1_1zoneinfomid_1_1ZonePolicy-members.html | 2 +- ...ce__time_1_1zoneinfomid_1_1ZonePolicy.html | 4 +- ...me_1_1zoneinfomid_1_1ZoneRule-members.html | 2 +- ...tace__time_1_1zoneinfomid_1_1ZoneRule.html | 18 +- docs/html/time__offset__mutation_8h.html | 2 +- .../time__offset__mutation_8h_source.html | 2 +- docs/html/time__period__mutation_8h.html | 2 +- .../time__period__mutation_8h_source.html | 2 +- docs/html/zoned__date__time__mutation_8h.html | 8 +- .../zoned__date__time__mutation_8h__incl.map | 6 +- .../zoned__date__time__mutation_8h__incl.md5 | 2 +- ...zoned__date__time__mutation_8h_source.html | 2 +- .../html/zonedb_2zone__infos_8cpp_source.html | 10603 ++- docs/html/zonedb_2zone__infos_8h_source.html | 2631 +- .../zonedb_2zone__policies_8cpp_source.html | 7146 +- .../zonedb_2zone__policies_8h_source.html | 188 +- .../zonedb_2zone__registry_8cpp_source.html | 1413 +- .../zonedb_2zone__registry_8h_source.html | 62 +- .../zonedbc_2zone__infos_8cpp_source.html | 54569 ++++++++-------- docs/html/zonedbc_2zone__infos_8h_source.html | 4523 +- .../zonedbc_2zone__policies_8cpp_source.html | 11408 ++-- .../zonedbc_2zone__policies_8h_source.html | 36 +- .../zonedbc_2zone__registry_8cpp_source.html | 1923 +- .../zonedbc_2zone__registry_8h_source.html | 40 +- ...nedbctesting_2zone__infos_8cpp_source.html | 84 +- ...zonedbctesting_2zone__infos_8h_source.html | 820 +- ...bctesting_2zone__policies_8cpp_source.html | 630 +- ...edbctesting_2zone__policies_8h_source.html | 286 +- ...bctesting_2zone__registry_8cpp_source.html | 28 +- ...edbctesting_2zone__registry_8h_source.html | 28 +- ...onedbtesting_2zone__infos_8cpp_source.html | 26 +- .../zonedbtesting_2zone__infos_8h_source.html | 729 +- ...dbtesting_2zone__policies_8cpp_source.html | 16 +- ...nedbtesting_2zone__policies_8h_source.html | 16 +- ...dbtesting_2zone__registry_8cpp_source.html | 16 +- ...nedbtesting_2zone__registry_8h_source.html | 16 +- .../zonedbx_2zone__infos_8cpp_source.html | 25727 ++++---- docs/html/zonedbx_2zone__infos_8h_source.html | 2507 +- .../zonedbx_2zone__policies_8cpp_source.html | 15524 +++-- .../zonedbx_2zone__policies_8h_source.html | 206 +- .../zonedbx_2zone__registry_8cpp_source.html | 1929 +- .../zonedbx_2zone__registry_8h_source.html | 46 +- ...nedbxtesting_2zone__infos_8cpp_source.html | 84 +- ...zonedbxtesting_2zone__infos_8h_source.html | 820 +- ...bxtesting_2zone__policies_8cpp_source.html | 630 +- ...edbxtesting_2zone__policies_8h_source.html | 286 +- ...bxtesting_2zone__registry_8cpp_source.html | 28 +- ...edbxtesting_2zone__registry_8h_source.html | 28 +- 466 files changed, 76080 insertions(+), 75766 deletions(-) create mode 100644 docs/html/DateConv_8cpp_source.html create mode 100644 docs/html/DateConv_8h_source.html create mode 100644 docs/html/ZoneInfoHigh_8h.html create mode 100644 docs/html/ZoneInfoHigh_8h__dep__incl.map create mode 100644 docs/html/ZoneInfoHigh_8h__dep__incl.md5 create mode 100644 docs/html/ZoneInfoHigh_8h__dep__incl.png create mode 100644 docs/html/ZoneInfoHigh_8h__incl.map create mode 100644 docs/html/ZoneInfoHigh_8h__incl.md5 create mode 100644 docs/html/ZoneInfoHigh_8h__incl.png create mode 100644 docs/html/ZoneInfoLow_8h.html create mode 100644 docs/html/ZoneInfoLow_8h__dep__incl.map create mode 100644 docs/html/ZoneInfoLow_8h__dep__incl.md5 create mode 100644 docs/html/ZoneInfoLow_8h__dep__incl.png create mode 100644 docs/html/ZoneInfoLow_8h__incl.map create mode 100644 docs/html/ZoneInfoLow_8h__incl.md5 create mode 100644 docs/html/ZoneInfoLow_8h__incl.png create mode 100644 docs/html/ZoneInfoMid_8h.html create mode 100644 docs/html/ZoneInfoMid_8h__dep__incl.map create mode 100644 docs/html/ZoneInfoMid_8h__dep__incl.md5 create mode 100644 docs/html/ZoneInfoMid_8h__dep__incl.png create mode 100644 docs/html/ZoneInfoMid_8h__incl.map create mode 100644 docs/html/ZoneInfoMid_8h__incl.md5 create mode 100644 docs/html/ZoneInfoMid_8h__incl.png diff --git a/docs/html/AceTime_8h_source.html b/docs/html/AceTime_8h_source.html index 55be1d0d9..8ac70b621 100644 --- a/docs/html/AceTime_8h_source.html +++ b/docs/html/AceTime_8h_source.html @@ -22,7 +22,7 @@
AceTime -  2.3.0 +  2.4.0
Date and time classes for Arduino that support timezones from the TZ Database.
@@ -91,50 +91,51 @@
29 #include "zoneinfo/brokers.h"
30 #include "ace_time/common/common.h"
31 #include "ace_time/common/DateStrings.h"
-
32 #include "ace_time/EpochConverterJulian.h"
-
33 #include "ace_time/EpochConverterHinnant.h"
-
34 #include "ace_time/Epoch.h"
-
35 #include "ace_time/LocalDate.h"
-
36 #include "ace_time/local_date_mutation.h"
-
37 #include "ace_time/LocalTime.h"
-
38 #include "ace_time/LocalDateTime.h"
-
39 #include "ace_time/TimeOffset.h"
- -
41 #include "ace_time/OffsetDateTime.h"
- -
43 #include "ace_time/ZoneProcessor.h"
-
44 #include "ace_time/BasicZoneProcessor.h"
-
45 #include "ace_time/ExtendedZoneProcessor.h"
-
46 #include "ace_time/CompleteZoneProcessor.h"
-
47 #include "ace_time/ZoneProcessorCache.h"
-
48 #include "ace_time/ZoneRegistrar.h"
-
49 #include "ace_time/ZoneManager.h"
-
50 #include "ace_time/ZoneSorterByName.h"
-
51 #include "ace_time/ZoneSorterByOffsetAndName.h"
-
52 #include "ace_time/TimeZoneData.h"
-
53 #include "ace_time/TimeZone.h"
-
54 #include "ace_time/BasicZone.h"
-
55 #include "ace_time/ExtendedZone.h"
-
56 #include "ace_time/ZonedDateTime.h"
- -
58 #include "ace_time/TimePeriod.h"
- -
60 #include "ace_time/ace_time_utils.h"
-
61 #include "zonedb/zone_policies.h"
-
62 #include "zonedb/zone_infos.h"
-
63 #include "zonedb/zone_registry.h"
-
64 #include "zonedbx/zone_policies.h"
-
65 #include "zonedbx/zone_infos.h"
-
66 #include "zonedbx/zone_registry.h"
-
67 #include "zonedbc/zone_policies.h"
-
68 #include "zonedbc/zone_infos.h"
-
69 #include "zonedbc/zone_registry.h"
-
70 
-
71 // Version format: xxyyzz == "xx.yy.zz"
-
72 #define ACE_TIME_VERSION 20300
-
73 #define ACE_TIME_VERSION_STRING "2.3.0"
-
74 
-
75 #endif
+
32 #include "ace_time/common/DateConv.h"
+
33 #include "ace_time/EpochConverterJulian.h"
+
34 #include "ace_time/EpochConverterHinnant.h"
+
35 #include "ace_time/Epoch.h"
+
36 #include "ace_time/LocalDate.h"
+
37 #include "ace_time/local_date_mutation.h"
+
38 #include "ace_time/LocalTime.h"
+
39 #include "ace_time/LocalDateTime.h"
+
40 #include "ace_time/TimeOffset.h"
+ +
42 #include "ace_time/OffsetDateTime.h"
+ +
44 #include "ace_time/ZoneProcessor.h"
+
45 #include "ace_time/BasicZoneProcessor.h"
+
46 #include "ace_time/ExtendedZoneProcessor.h"
+
47 #include "ace_time/CompleteZoneProcessor.h"
+
48 #include "ace_time/ZoneProcessorCache.h"
+
49 #include "ace_time/ZoneRegistrar.h"
+
50 #include "ace_time/ZoneManager.h"
+
51 #include "ace_time/ZoneSorterByName.h"
+
52 #include "ace_time/ZoneSorterByOffsetAndName.h"
+
53 #include "ace_time/TimeZoneData.h"
+
54 #include "ace_time/TimeZone.h"
+
55 #include "ace_time/BasicZone.h"
+
56 #include "ace_time/ExtendedZone.h"
+
57 #include "ace_time/ZonedDateTime.h"
+ +
59 #include "ace_time/TimePeriod.h"
+ +
61 #include "ace_time/ace_time_utils.h"
+
62 #include "zonedb/zone_policies.h"
+
63 #include "zonedb/zone_infos.h"
+
64 #include "zonedb/zone_registry.h"
+
65 #include "zonedbx/zone_policies.h"
+
66 #include "zonedbx/zone_infos.h"
+
67 #include "zonedbx/zone_registry.h"
+
68 #include "zonedbc/zone_policies.h"
+
69 #include "zonedbc/zone_infos.h"
+
70 #include "zonedbc/zone_registry.h"
+
71 
+
72 // Version format: xxyyzz == "xx.yy.zz"
+
73 #define ACE_TIME_VERSION 20400
+
74 #define ACE_TIME_VERSION_STRING "2.4.0"
+
75 
+
76 #endif
The brokers in the basic:: and extended:: namespaces are identical in code.
Identifiers used by implementation code which need to be publically exported.
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
diff --git a/docs/html/BasicZoneProcessor_8h_source.html b/docs/html/BasicZoneProcessor_8h_source.html index f7c6d2599..fe4bdecd4 100644 --- a/docs/html/BasicZoneProcessor_8h_source.html +++ b/docs/html/BasicZoneProcessor_8h_source.html @@ -22,7 +22,7 @@
AceTime -  2.3.0 +  2.4.0
Date and time classes for Arduino that support timezones from the TZ Database.
@@ -101,662 +101,658 @@
28 class BasicZoneProcessorTest_init_primitives;
29 class BasicZoneProcessorTest_initForLocalDate;
30 class BasicZoneProcessorTest_setZoneKey;
-
31 class BasicZoneProcessorTest_createAbbreviation;
-
32 class BasicZoneProcessorTest_calcRuleOffsetMinutes;
-
33 
-
34 class Print;
-
35 
-
36 namespace ace_time {
-
37 namespace basic {
-
38 
-
59 template <typename ZIB, typename ZEB, typename ZPB, typename ZRB>
- -
66  ZEB era;
-
67 
-
77  ZRB rule;
-
78 
- -
81 
-
87  int16_t offsetMinutes;
-
88 
-
90  int16_t deltaMinutes;
-
91 
-
93  int16_t year;
-
94 
-
100  uint8_t month;
-
101 
-
109  char abbrev[internal::kAbbrevSize];
-
110 
-
112  void log() const {
-
113  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
114  logging::printf("(%d/%d)", year, month);
-
115  if (sizeof(acetime_t) == sizeof(int)) {
-
116  logging::printf("; stEps: %d", startEpochSeconds);
-
117  } else {
-
118  logging::printf("; stEps: %ld", startEpochSeconds);
-
119  }
-
120  logging::printf("; offMin: %d", offsetMinutes);
-
121  logging::printf("; abbrev: %s", abbrev);
-
122  if (! rule.isNull()) {
-
123  logging::printf("; r.fromYear: %d", rule.fromYear());
-
124  logging::printf("; r.toYear: %d", rule.toYear());
-
125  logging::printf("; r.inMonth: %d", rule.inMonth());
-
126  logging::printf("; r.onDayOfMonth: %d", rule.onDayOfMonth());
-
127  }
-
128  logging::printf("\n");
-
129  }
-
130  }
-
131 };
-
132 
-
134 inline int8_t compareYearMonth(int16_t aYear, uint8_t aMonth,
-
135  int16_t bYear, uint8_t bMonth) {
-
136  if (aYear < bYear) return -1;
-
137  if (aYear > bYear) return 1;
-
138  if (aMonth < bMonth) return -1;
-
139  if (aMonth > bMonth) return 1;
-
140  return 0;
-
141 }
+
31 class BasicZoneProcessorTest_calcRuleOffsetMinutes;
+
32 
+
33 class Print;
+
34 
+
35 namespace ace_time {
+
36 namespace basic {
+
37 
+
58 template <typename ZIB, typename ZEB, typename ZPB, typename ZRB>
+ +
65  ZEB era;
+
66 
+
76  ZRB rule;
+
77 
+ +
80 
+
85  int16_t offsetMinutes;
+
86 
+
88  int16_t deltaMinutes;
+
89 
+
91  int16_t year;
+
92 
+
98  uint8_t month;
+
99 
+
107  char abbrev[internal::kAbbrevSize];
+
108 
+
110  void log() const {
+
111  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
112  logging::printf("(%d/%d)", year, month);
+
113  if (sizeof(acetime_t) == sizeof(int)) {
+
114  logging::printf("; stEps: %d", startEpochSeconds);
+
115  } else {
+
116  logging::printf("; stEps: %ld", startEpochSeconds);
+
117  }
+
118  logging::printf("; offMin: %d", offsetMinutes);
+
119  logging::printf("; abbrev: %s", abbrev);
+
120  if (! rule.isNull()) {
+
121  logging::printf("; r.fromYear: %d", rule.fromYear());
+
122  logging::printf("; r.toYear: %d", rule.toYear());
+
123  logging::printf("; r.inMonth: %d", rule.inMonth());
+
124  logging::printf("; r.onDayOfMonth: %d", rule.onDayOfMonth());
+
125  }
+
126  logging::printf("\n");
+
127  }
+
128  }
+
129 };
+
130 
+
132 inline int8_t compareYearMonth(int16_t aYear, uint8_t aMonth,
+
133  int16_t bYear, uint8_t bMonth) {
+
134  if (aYear < bYear) return -1;
+
135  if (aYear > bYear) return 1;
+
136  if (aMonth < bMonth) return -1;
+
137  if (aMonth > bMonth) return 1;
+
138  return 0;
+
139 }
+
140 
+
141 } // namespace basic
142 
-
143 } // namespace basic
-
144 
-
202 template <typename ZIS, typename ZIB, typename ZEB, typename ZPB, typename ZRB>
- -
204  public:
- -
207 
-
208  bool isLink() const override {
-
209  return ! mZoneInfoBroker.targetInfo().isNull();
-
210  }
-
211 
-
212  uint32_t getZoneId() const override {
-
213  return mZoneInfoBroker.zoneId();
-
214  }
-
215 
- -
245  const LocalDateTime& ldt) const override {
-
246  FindResult result;
-
247  bool success = initForLocalDate(ldt.localDate());
-
248  if (!success) return result;
-
249 
-
250  // 0) Use the UTC epochSeconds to get intial guess of offset.
-
251  acetime_t epochSeconds0 = ldt.toEpochSeconds();
-
252  auto result0 = findByEpochSeconds(epochSeconds0);
-
253  if (result0.type == FindResult::kTypeNotFound) return result;
-
254  auto offset0 = TimeOffset::forSeconds(
-
255  result0.reqStdOffsetSeconds + result0.reqDstOffsetSeconds);
-
256 
-
257  // 1) Use offset0 to get the next epochSeconds and offset.
-
258  auto odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset0);
-
259  acetime_t epochSeconds1 = odt.toEpochSeconds();
-
260  auto result1 = findByEpochSeconds(epochSeconds1);
-
261  if (result1.type == FindResult::kTypeNotFound) return result;
-
262  auto offset1 = TimeOffset::forSeconds(
-
263  result1.reqStdOffsetSeconds + result1.reqDstOffsetSeconds);
-
264 
-
265  // 2) Use offset1 to get the next epochSeconds and offset.
-
266  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset1);
-
267  acetime_t epochSeconds2 = odt.toEpochSeconds();
-
268  auto result2 = findByEpochSeconds(epochSeconds2);
-
269  if (result2.type == FindResult::kTypeNotFound) return result;
-
270  auto offset2 = TimeOffset::forSeconds(
-
271  result2.reqStdOffsetSeconds + result2.reqDstOffsetSeconds);
-
272 
-
273  // If offset1 and offset2 are equal, then we have an equilibrium
-
274  // and odt(1) must equal odt(2).
-
275  if (offset1 == offset2) {
-
276  // I think this happens for kTypeExact or kTypeOverlap, but the current
-
277  // algorithm cannot distinguish between the two, so let's pretend that
-
278  // it is kTypeExact. Pick either of result1 or result2.
-
279  result = result1;
-
280  } else {
-
281  // If the offsets don't match, then I think we have a kTypeGap.
-
282  // Pick the stdOffset and dstOffset that generate the later epochSeconds
-
283  // (the earlier transition), but convert into the LocalDateTime of the
-
284  // earlier epochSeconds (the later transition).
-
285  if (epochSeconds1 > epochSeconds2) {
-
286  result = result1;
-
287  } else {
-
288  result = result2;
-
289  }
-
290  result.type = FindResult::kTypeGap;
-
291  }
-
292 
-
293  return result;
-
294  }
-
295 
-
296  FindResult findByEpochSeconds(acetime_t epochSeconds) const override {
-
297  FindResult result;
-
298  const Transition* transition = getTransition(epochSeconds);
-
299  if (!transition) return result;
-
300 
-
301  result.dstOffsetSeconds = transition->deltaMinutes * kSecPerMin;
-
302  result.stdOffsetSeconds = (transition->offsetMinutes
-
303  - transition->deltaMinutes) * kSecPerMin;
-
304  result.reqStdOffsetSeconds = result.stdOffsetSeconds;
-
305  result.reqDstOffsetSeconds = result.dstOffsetSeconds;
-
306  result.type = FindResult::kTypeExact;
-
307  result.abbrev = transition->abbrev;
+
200 template <typename ZIS, typename ZIB, typename ZEB, typename ZPB, typename ZRB>
+ +
202  public:
+ +
205 
+
206  bool isLink() const override {
+
207  return ! mZoneInfoBroker.targetInfo().isNull();
+
208  }
+
209 
+
210  uint32_t getZoneId() const override {
+
211  return mZoneInfoBroker.zoneId();
+
212  }
+
213 
+ +
243  const LocalDateTime& ldt) const override {
+
244  FindResult result;
+
245  bool success = initForLocalDate(ldt.localDate());
+
246  if (!success) return result;
+
247 
+
248  // 0) Use the UTC epochSeconds to get intial guess of offset.
+
249  acetime_t epochSeconds0 = ldt.toEpochSeconds();
+
250  auto result0 = findByEpochSeconds(epochSeconds0);
+
251  if (result0.type == FindResult::kTypeNotFound) return result;
+
252  auto offset0 = TimeOffset::forSeconds(
+
253  result0.reqStdOffsetSeconds + result0.reqDstOffsetSeconds);
+
254 
+
255  // 1) Use offset0 to get the next epochSeconds and offset.
+
256  auto odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset0);
+
257  acetime_t epochSeconds1 = odt.toEpochSeconds();
+
258  auto result1 = findByEpochSeconds(epochSeconds1);
+
259  if (result1.type == FindResult::kTypeNotFound) return result;
+
260  auto offset1 = TimeOffset::forSeconds(
+
261  result1.reqStdOffsetSeconds + result1.reqDstOffsetSeconds);
+
262 
+
263  // 2) Use offset1 to get the next epochSeconds and offset.
+
264  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset1);
+
265  acetime_t epochSeconds2 = odt.toEpochSeconds();
+
266  auto result2 = findByEpochSeconds(epochSeconds2);
+
267  if (result2.type == FindResult::kTypeNotFound) return result;
+
268  auto offset2 = TimeOffset::forSeconds(
+
269  result2.reqStdOffsetSeconds + result2.reqDstOffsetSeconds);
+
270 
+
271  // If offset1 and offset2 are equal, then we have an equilibrium
+
272  // and odt(1) must equal odt(2).
+
273  if (offset1 == offset2) {
+
274  // I think this happens for kTypeExact or kTypeOverlap, but the current
+
275  // algorithm cannot distinguish between the two, so let's pretend that
+
276  // it is kTypeExact. Pick either of result1 or result2.
+
277  result = result1;
+
278  } else {
+
279  // If the offsets don't match, then I think we have a kTypeGap.
+
280  // Pick the stdOffset and dstOffset that generate the later epochSeconds
+
281  // (the earlier transition), but convert into the LocalDateTime of the
+
282  // earlier epochSeconds (the later transition).
+
283  if (epochSeconds1 > epochSeconds2) {
+
284  result = result1;
+
285  } else {
+
286  result = result2;
+
287  }
+
288  result.type = FindResult::kTypeGap;
+
289  }
+
290 
+
291  return result;
+
292  }
+
293 
+
294  FindResult findByEpochSeconds(acetime_t epochSeconds) const override {
+
295  FindResult result;
+
296  const Transition* transition = getTransition(epochSeconds);
+
297  if (!transition) return result;
+
298 
+
299  result.dstOffsetSeconds = transition->deltaMinutes * kSecPerMin;
+
300  result.stdOffsetSeconds = transition->offsetMinutes * kSecPerMin;
+
301  result.reqStdOffsetSeconds = result.stdOffsetSeconds;
+
302  result.reqDstOffsetSeconds = result.dstOffsetSeconds;
+
303  result.type = FindResult::kTypeExact;
+
304  result.abbrev = transition->abbrev;
+
305 
+
306  return result;
+
307  }
308 
-
309  return result;
-
310  }
-
311 
-
312  void printNameTo(Print& printer) const override {
-
313  mZoneInfoBroker.printNameTo(printer);
-
314  }
-
315 
-
316  void printShortNameTo(Print& printer) const override {
-
317  mZoneInfoBroker.printShortNameTo(printer);
-
318  }
-
319 
-
320  void printTargetNameTo(Print& printer) const override {
-
321  if (isLink()) {
-
322  mZoneInfoBroker.targetInfo().printNameTo(printer);
-
323  }
-
324  }
-
325 
-
326  void setZoneKey(uintptr_t zoneKey) override {
-
327  if (! mZoneInfoStore) return;
-
328  if (mZoneInfoBroker.equals(zoneKey)) return;
-
329 
-
330  mZoneInfoBroker = mZoneInfoStore->createZoneInfoBroker(zoneKey);
- -
332  mNumTransitions = 0;
-
333  }
-
334 
-
335  bool equalsZoneKey(uintptr_t zoneKey) const override {
-
336  return mZoneInfoBroker.equals(zoneKey);
-
337  }
-
338 
-
340  void log() const {
-
341  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
342  logging::printf("BasicZoneProcessor:\n");
-
343  logging::printf(" mEpochYear: %d\n", mEpochYear);
-
344  logging::printf(" mYear: %d\n", mYear);
-
345  logging::printf(" mNumTransitions: %d\n", mNumTransitions);
-
346  for (int i = 0; i < mNumTransitions; i++) {
-
347  logging::printf(" mT[%d]=", i);
-
348  mTransitions[i].log();
-
349  }
-
350  }
-
351  }
-
352 
-
359  void setZoneInfoStore(const ZIS* zoneInfoStore) {
-
360  mZoneInfoStore = zoneInfoStore;
-
361  }
-
362 
-
363  protected:
-
364 
- -
376  uint8_t type,
-
377  const ZIS* zoneInfoStore /*nullable*/,
-
378  uintptr_t zoneKey
-
379  ) :
-
380  ZoneProcessor(type),
-
381  mZoneInfoStore(zoneInfoStore)
-
382  {
-
383  setZoneKey(zoneKey);
-
384  }
-
385 
-
386  private:
-
387  friend class ::BasicZoneProcessorTest_priorYearOfRule;
-
388  friend class ::BasicZoneProcessorTest_compareRulesBeforeYear;
-
389  friend class ::BasicZoneProcessorTest_findLatestPriorRule;
-
390  friend class ::BasicZoneProcessorTest_findZoneEra;
-
391  friend class ::BasicZoneProcessorTest_init_primitives;
-
392  friend class ::BasicZoneProcessorTest_initForLocalDate;
-
393  friend class ::BasicZoneProcessorTest_setZoneKey;
-
394  friend class ::BasicZoneProcessorTest_createAbbreviation;
-
395  friend class ::BasicZoneProcessorTest_calcRuleOffsetMinutes;
-
396 
-
407  static const uint8_t kMaxCacheEntries = 5;
-
408 
-
414  static const acetime_t kMinEpochSeconds = INT32_MIN + 1;
-
415 
-
416  // Disable copy constructor and assignment operator.
- - -
419  delete;
-
420 
-
421  bool equals(const ZoneProcessor& other) const override {
-
422  return mZoneInfoBroker.equals(
-
423  ((const BasicZoneProcessorTemplate&) other).mZoneInfoBroker);
-
424  }
-
425 
-
427  const Transition* getTransition(acetime_t epochSeconds) const {
-
428  bool success = initForEpochSeconds(epochSeconds);
-
429  return (success) ? findMatch(epochSeconds) : nullptr;
-
430  }
-
431 
-
460  bool initForLocalDate(const LocalDate& ld) const {
-
461  int16_t year = ld.year();
-
462  if (ld.month() == 1 && ld.day() == 1) {
-
463  year--;
-
464  }
-
465  // Restrict to [1,9999], even though LocalDate should be able to handle
-
466  // [0,10000].
-
467  if (year <= LocalDate::kMinYear || LocalDate::kMaxYear <= year) {
-
468  return false;
-
469  }
-
470 
-
471  if (isFilled(year)) return true;
-
472  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
473  logging::printf("initForLocalDate(): %d (new year %d)\n",
-
474  ld.year(), year);
-
475  }
+
309  void printNameTo(Print& printer) const override {
+
310  mZoneInfoBroker.printNameTo(printer);
+
311  }
+
312 
+
313  void printShortNameTo(Print& printer) const override {
+
314  mZoneInfoBroker.printShortNameTo(printer);
+
315  }
+
316 
+
317  void printTargetNameTo(Print& printer) const override {
+
318  if (isLink()) {
+
319  mZoneInfoBroker.targetInfo().printNameTo(printer);
+
320  }
+
321  }
+
322 
+
323  void setZoneKey(uintptr_t zoneKey) override {
+
324  if (! mZoneInfoStore) return;
+
325  if (mZoneInfoBroker.equals(zoneKey)) return;
+
326 
+
327  mZoneInfoBroker = mZoneInfoStore->createZoneInfoBroker(zoneKey);
+ +
329  mNumTransitions = 0;
+
330  }
+
331 
+
332  bool equalsZoneKey(uintptr_t zoneKey) const override {
+
333  return mZoneInfoBroker.equals(zoneKey);
+
334  }
+
335 
+
337  void log() const {
+
338  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
339  logging::printf("BasicZoneProcessor:\n");
+
340  logging::printf(" mEpochYear: %d\n", mEpochYear);
+
341  logging::printf(" mYear: %d\n", mYear);
+
342  logging::printf(" mNumTransitions: %d\n", mNumTransitions);
+
343  for (int i = 0; i < mNumTransitions; i++) {
+
344  logging::printf(" mT[%d]=", i);
+
345  mTransitions[i].log();
+
346  }
+
347  }
+
348  }
+
349 
+
356  void setZoneInfoStore(const ZIS* zoneInfoStore) {
+
357  mZoneInfoStore = zoneInfoStore;
+
358  }
+
359 
+
360  protected:
+
361 
+ +
373  uint8_t type,
+
374  const ZIS* zoneInfoStore /*nullable*/,
+
375  uintptr_t zoneKey
+
376  ) :
+
377  ZoneProcessor(type),
+
378  mZoneInfoStore(zoneInfoStore)
+
379  {
+
380  setZoneKey(zoneKey);
+
381  }
+
382 
+
383  private:
+
384  friend class ::BasicZoneProcessorTest_priorYearOfRule;
+
385  friend class ::BasicZoneProcessorTest_compareRulesBeforeYear;
+
386  friend class ::BasicZoneProcessorTest_findLatestPriorRule;
+
387  friend class ::BasicZoneProcessorTest_findZoneEra;
+
388  friend class ::BasicZoneProcessorTest_init_primitives;
+
389  friend class ::BasicZoneProcessorTest_initForLocalDate;
+
390  friend class ::BasicZoneProcessorTest_setZoneKey;
+
391  friend class ::BasicZoneProcessorTest_calcRuleOffsetMinutes;
+
392 
+
403  static const uint8_t kMaxCacheEntries = 5;
+
404 
+
410  static const acetime_t kMinEpochSeconds = INT32_MIN + 1;
+
411 
+
412  // Disable copy constructor and assignment operator.
+ + +
415  delete;
+
416 
+
417  bool equals(const ZoneProcessor& other) const override {
+
418  return mZoneInfoBroker.equals(
+
419  ((const BasicZoneProcessorTemplate&) other).mZoneInfoBroker);
+
420  }
+
421 
+
423  const Transition* getTransition(acetime_t epochSeconds) const {
+
424  bool success = initForEpochSeconds(epochSeconds);
+
425  return (success) ? findMatch(epochSeconds) : nullptr;
+
426  }
+
427 
+
456  bool initForLocalDate(const LocalDate& ld) const {
+
457  int16_t year = ld.year();
+
458  if (ld.month() == 1 && ld.day() == 1) {
+
459  year--;
+
460  }
+
461  // Restrict to [1,9999], even though LocalDate should be able to handle
+
462  // [0,10000].
+
463  if (year <= LocalDate::kMinYear || LocalDate::kMaxYear <= year) {
+
464  return false;
+
465  }
+
466 
+
467  if (isFilled(year)) return true;
+
468  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
469  logging::printf("initForLocalDate(): %d (new year %d)\n",
+
470  ld.year(), year);
+
471  }
+
472 
+
473  mYear = year;
+ +
475  mNumTransitions = 0; // clear cache
476 
-
477  mYear = year;
- -
479  mNumTransitions = 0; // clear cache
-
480 
-
481  ZEB priorEra = addTransitionPriorToYear(year);
-
482  ZEB currentEra = addTransitionsForYear(year, priorEra);
-
483  addTransitionAfterYear(year, currentEra);
-
484  calcTransitions();
-
485  calcAbbreviations();
+
477  ZEB priorEra = addTransitionPriorToYear(year);
+
478  ZEB currentEra = addTransitionsForYear(year, priorEra);
+
479  addTransitionAfterYear(year, currentEra);
+
480  calcTransitions();
+
481  calcAbbreviations();
+
482 
+
483  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
484  log();
+
485  }
486 
-
487  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
488  log();
-
489  }
-
490 
-
491  return true;
-
492  }
-
493 
-
499  bool initForEpochSeconds(acetime_t epochSeconds) const {
-
500  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
-
501  return initForLocalDate(ld);
-
502  }
-
503 
-
510  ZEB addTransitionPriorToYear(int16_t year) const {
-
511  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
512  logging::printf("addTransitionPriorToYear(): %d\n", year);
-
513  }
-
514 
-
515  const ZEB era = findZoneEra(mZoneInfoBroker, year - 1);
-
516 
-
517  // If the prior ZoneEra has a ZonePolicy), then find the latest rule
-
518  // within the ZoneEra. Otherwise, add a Transition using a rule==nullptr.
-
519  ZRB latest = findLatestPriorRule(era.zonePolicy(), year);
-
520  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
521  logging::printf("addTransitionsPriorToYear(): adding latest prior ");
-
522  if (latest.isNull()) {
-
523  logging::printf("ZR(null)\n");
-
524  } else {
-
525  logging::printf("ZR[%d,%d]\n", latest.fromYear(), latest.toYear());
-
526  }
-
527  }
-
528  addTransition(year - 1, 0 /*month*/, era, latest);
-
529 
-
530  return era;
-
531  }
-
532 
-
538  static ZRB findLatestPriorRule(const ZPB& zonePolicy, int16_t year) {
-
539  ZRB latest;
-
540  if (zonePolicy.isNull()) return latest;
-
541 
-
542  uint8_t numRules = zonePolicy.numRules();
-
543  for (uint8_t i = 0; i < numRules; i++) {
-
544  const ZRB rule = zonePolicy.rule(i);
-
545  // Check if rule is effective prior to the given year
-
546  if (rule.fromYear() < year) {
-
547  if ((latest.isNull()) ||
-
548  compareRulesBeforeYear(year, rule, latest) > 0) {
-
549  latest = rule;
-
550  }
-
551  }
-
552  }
-
553 
-
554  return latest;
-
555  }
-
556 
-
558  static int8_t compareRulesBeforeYear(
-
559  int16_t year, const ZRB& a, const ZRB& b) {
-
560  return basic::compareYearMonth(
-
561  priorYearOfRule(year, a), a.inMonth(),
-
562  priorYearOfRule(year, b), b.inMonth());
-
563  }
-
564 
-
573  static int16_t priorYearOfRule(int16_t year, const ZRB& rule) {
-
574  if (rule.toYear() < year) {
-
575  return rule.toYear();
-
576  }
-
577  return year - 1;
-
578  }
-
579 
-
584  ZEB addTransitionsForYear(int16_t year, const ZEB& priorEra) const {
-
585  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
586  logging::printf("addTransitionsForYear(): %d\n", year);
-
587  }
-
588 
-
589  const ZEB era = findZoneEra(mZoneInfoBroker, year);
-
590 
-
591  // If the ZonePolicy has no rules, then add a Transition which takes
-
592  // effect at the start time of the current year.
-
593  const ZPB zonePolicy = era.zonePolicy();
-
594  if (zonePolicy.isNull()) {
-
595  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
596  logging::printf("addTransitionsForYear(): adding ZE.untilY=%d\n",
-
597  era.untilYear());
-
598  }
-
599  addTransition(year, 0 /*month*/, era, ZRB());
-
600  return era;
-
601  }
-
602 
-
603  if (! era.equals(priorEra)) {
-
604  // The ZoneEra has changed, so we need to find the Rule in effect at
-
605  // the start of the current year of the current ZoneEra. This may be a
-
606  // rule far in the past, but shift the rule forward to {year, 1, 1}.
-
607  ZRB latestPrior = findLatestPriorRule(era.zonePolicy(), year);
-
608  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
609  logging::printf(
-
610  "addTransitionsForYear(): adding latest prior ");
-
611  if (latestPrior.isNull()) {
-
612  logging::printf("ZR(null)\n");
-
613  } else {
-
614  logging::printf("ZR[%d,%d]\n",
-
615  latestPrior.fromYear(), latestPrior.toYear());
-
616  }
-
617  }
-
618  addTransition(year, 1 /*month*/, era, latestPrior);
-
619  }
-
620 
-
621  // Find all directly matching transitions (i.e. the [from, to] overlap
-
622  // with the current year) and add them to mTransitions, in sorted order
-
623  // according to the ZoneRule::inMonth field.
-
624  uint8_t numRules = zonePolicy.numRules();
-
625  for (uint8_t i = 0; i < numRules; i++) {
-
626  const ZRB rule = zonePolicy.rule(i);
-
627  if ((rule.fromYear() <= year) && (year <= rule.toYear())) {
-
628  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
629  logging::printf(
-
630  "addTransitionsForYear(): adding rule ");
-
631  if (rule.isNull()) {
-
632  logging::printf("ZR(null)\n");
-
633  } else {
-
634  logging::printf("ZR[%d,%d]\n", rule.fromYear(), rule.toYear());
-
635  }
-
636  }
-
637  addTransition(year, 0 /*month*/, era, rule);
-
638  }
-
639  }
-
640 
-
641  return era;
-
642  }
-
643 
-
645  void addTransitionAfterYear(int16_t year, const ZEB& currentEra) const {
-
646  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
647  logging::printf("addTransitionAfterYear(): %d\n", year);
-
648  }
-
649 
-
650  const ZEB eraAfter = findZoneEra(mZoneInfoBroker, year + 1);
-
651 
-
652  // If the current era is the same as the following year, then we'll just
-
653  // assume that the latest ZoneRule carries over to Jan 1st of the next
-
654  // year. tzcompiler.py guarantees no ZoneRule occurs on Jan 1st.
-
655  if (currentEra.equals(eraAfter)) {
-
656  return;
-
657  }
-
658 
-
659  // If the ZoneEra did change, find the latest transition prior to
-
660  // {year + 1, 1, 1}, then shift that Transition to Jan 1st of the
-
661  // following year.
-
662  ZRB latest = findLatestPriorRule(eraAfter.zonePolicy(), year + 1);
-
663  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
664  logging::printf(
-
665  "addTransitionsAfterYear(): adding latest prior ");
-
666  if (latest.isNull()) {
-
667  logging::printf("ZR(null)\n");
-
668  } else {
-
669  logging::printf("ZR[%d,%d]\n", latest.fromYear(), latest.toYear());
-
670  }
-
671  }
-
672  addTransition(year + 1, 1 /*month*/, eraAfter, latest);
-
673  }
-
674 
-
698  void addTransition(int16_t year, uint8_t month, const ZEB& era,
-
699  const ZRB& rule) const {
-
700 
-
701  // If a zone needs more transitions than kMaxCacheEntries, the check below
-
702  // will cause the DST transition information to be inaccurate, and it is
-
703  // highly likely that this situation would be caught in the
-
704  // AceTimeValidation tests. Since these integration tests pass, I feel
-
705  // confident that those zones which need more than kMaxCacheEntries are
-
706  // already filtered out by tzcompiler.py.
-
707  //
-
708  // Ideally, the tzcompiler.py script would explicitly remove those zones
-
709  // which need more than kMaxCacheEntries Transitions. But this would
-
710  // require a Python version of the BasicZoneProcessor, and unfortunately,
-
711  // zone_processor.py implements only the ExtendedZoneProcessor algorithm
-
712  // An early version of zone_processor.py may have implemented something
-
713  // close to BasicZoneProcessor, and it may be available in the git
-
714  // history. But it seems like too much work right now to try to dig that
-
715  // out, just to implement the explicit check for kMaxCacheEntries. It
-
716  // would mean maintaining another version of zone_processor.py.
-
717  if (mNumTransitions >= kMaxCacheEntries) return;
-
718 
-
719  // Insert new element at the end of the list.
-
720  // NOTE: It is probably tempting to pass a pointer (or reference) to
-
721  // mTransitions[mNumTransitions] into createTransition(), instead of
-
722  // returning it by value. However, MemoryBenchmark shows that directly
-
723  // updating the Transition through the pointer increases flash memory
-
724  // consumption by ~110 bytes on AVR processors. It seems that creating a
-
725  // local copy of Transition on the stack, filling it, and then copying it
-
726  // by value takes fewer instructions.
-
727  mTransitions[mNumTransitions] = createTransition(year, month, era, rule);
-
728  mNumTransitions++;
-
729 
-
730  // perform an insertion sort based on ZoneRule.inMonth()
-
731  for (uint8_t i = mNumTransitions - 1; i > 0; i--) {
-
732  Transition& left = mTransitions[i - 1];
-
733  Transition& right = mTransitions[i];
-
734  // assume only 1 rule per month
-
735  if (basic::compareYearMonth(left.year, left.month,
-
736  right.year, right.month) > 0) {
-
737  Transition tmp = left;
-
738  left = right;
-
739  right = tmp;
-
740  }
-
741  }
-
742  }
-
743 
-
749  static Transition createTransition(int16_t year, uint8_t month,
-
750  const ZEB& era, const ZRB& rule) {
-
751 
-
752  Transition transition;
-
753  int16_t deltaMinutes;
-
754  uint8_t mon;
-
755  if (rule.isNull()) {
-
756  mon = 1; // RULES is either '-' or 'hh:mm' so takes effect in Jan
-
757  deltaMinutes = era.deltaSeconds() / kSecPerMin;
-
758  transition.abbrev[0] = '\0';
-
759  } else {
-
760  mon = rule.inMonth();
-
761  deltaMinutes = rule.deltaSeconds() / kSecPerMin;
-
762  ace_common::strncpy_T(
-
763  transition.abbrev, rule.letter(), internal::kAbbrevSize - 1);
-
764  transition.abbrev[internal::kAbbrevSize - 1] = '\0';
+
487  return true;
+
488  }
+
489 
+
495  bool initForEpochSeconds(acetime_t epochSeconds) const {
+
496  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
+
497  return initForLocalDate(ld);
+
498  }
+
499 
+
506  ZEB addTransitionPriorToYear(int16_t year) const {
+
507  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
508  logging::printf("addTransitionPriorToYear(): %d\n", year);
+
509  }
+
510 
+
511  const ZEB era = findZoneEra(mZoneInfoBroker, year - 1);
+
512 
+
513  // If the prior ZoneEra has a ZonePolicy), then find the latest rule
+
514  // within the ZoneEra. Otherwise, add a Transition using a rule==nullptr.
+
515  ZRB latest = findLatestPriorRule(era.zonePolicy(), year);
+
516  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
517  logging::printf("addTransitionsPriorToYear(): adding latest prior ");
+
518  if (latest.isNull()) {
+
519  logging::printf("ZR(null)\n");
+
520  } else {
+
521  logging::printf("ZR[%d,%d]\n", latest.fromYear(), latest.toYear());
+
522  }
+
523  }
+
524  addTransition(year - 1, 0 /*month*/, era, latest);
+
525 
+
526  return era;
+
527  }
+
528 
+
534  static ZRB findLatestPriorRule(const ZPB& zonePolicy, int16_t year) {
+
535  ZRB latest;
+
536  if (zonePolicy.isNull()) return latest;
+
537 
+
538  uint8_t numRules = zonePolicy.numRules();
+
539  for (uint8_t i = 0; i < numRules; i++) {
+
540  const ZRB rule = zonePolicy.rule(i);
+
541  // Check if rule is effective prior to the given year
+
542  if (rule.fromYear() < year) {
+
543  if ((latest.isNull()) ||
+
544  compareRulesBeforeYear(year, rule, latest) > 0) {
+
545  latest = rule;
+
546  }
+
547  }
+
548  }
+
549 
+
550  return latest;
+
551  }
+
552 
+
554  static int8_t compareRulesBeforeYear(
+
555  int16_t year, const ZRB& a, const ZRB& b) {
+
556  return basic::compareYearMonth(
+
557  priorYearOfRule(year, a), a.inMonth(),
+
558  priorYearOfRule(year, b), b.inMonth());
+
559  }
+
560 
+
569  static int16_t priorYearOfRule(int16_t year, const ZRB& rule) {
+
570  if (rule.toYear() < year) {
+
571  return rule.toYear();
+
572  }
+
573  return year - 1;
+
574  }
+
575 
+
580  ZEB addTransitionsForYear(int16_t year, const ZEB& priorEra) const {
+
581  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
582  logging::printf("addTransitionsForYear(): %d\n", year);
+
583  }
+
584 
+
585  const ZEB era = findZoneEra(mZoneInfoBroker, year);
+
586 
+
587  // If the ZonePolicy has no rules, then add a Transition which takes
+
588  // effect at the start time of the current year.
+
589  const ZPB zonePolicy = era.zonePolicy();
+
590  if (zonePolicy.isNull()) {
+
591  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
592  logging::printf("addTransitionsForYear(): adding ZE.untilY=%d\n",
+
593  era.untilYear());
+
594  }
+
595  addTransition(year, 0 /*month*/, era, ZRB());
+
596  return era;
+
597  }
+
598 
+
599  if (! era.equals(priorEra)) {
+
600  // The ZoneEra has changed, so we need to find the Rule in effect at
+
601  // the start of the current year of the current ZoneEra. This may be a
+
602  // rule far in the past, but shift the rule forward to {year, 1, 1}.
+
603  ZRB latestPrior = findLatestPriorRule(era.zonePolicy(), year);
+
604  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
605  logging::printf(
+
606  "addTransitionsForYear(): adding latest prior ");
+
607  if (latestPrior.isNull()) {
+
608  logging::printf("ZR(null)\n");
+
609  } else {
+
610  logging::printf("ZR[%d,%d]\n",
+
611  latestPrior.fromYear(), latestPrior.toYear());
+
612  }
+
613  }
+
614  addTransition(year, 1 /*month*/, era, latestPrior);
+
615  }
+
616 
+
617  // Find all directly matching transitions (i.e. the [from, to] overlap
+
618  // with the current year) and add them to mTransitions, in sorted order
+
619  // according to the ZoneRule::inMonth field.
+
620  uint8_t numRules = zonePolicy.numRules();
+
621  for (uint8_t i = 0; i < numRules; i++) {
+
622  const ZRB rule = zonePolicy.rule(i);
+
623  if ((rule.fromYear() <= year) && (year <= rule.toYear())) {
+
624  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
625  logging::printf(
+
626  "addTransitionsForYear(): adding rule ");
+
627  if (rule.isNull()) {
+
628  logging::printf("ZR(null)\n");
+
629  } else {
+
630  logging::printf("ZR[%d,%d]\n", rule.fromYear(), rule.toYear());
+
631  }
+
632  }
+
633  addTransition(year, 0 /*month*/, era, rule);
+
634  }
+
635  }
+
636 
+
637  return era;
+
638  }
+
639 
+
641  void addTransitionAfterYear(int16_t year, const ZEB& currentEra) const {
+
642  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
643  logging::printf("addTransitionAfterYear(): %d\n", year);
+
644  }
+
645 
+
646  const ZEB eraAfter = findZoneEra(mZoneInfoBroker, year + 1);
+
647 
+
648  // If the current era is the same as the following year, then we'll just
+
649  // assume that the latest ZoneRule carries over to Jan 1st of the next
+
650  // year. tzcompiler.py guarantees no ZoneRule occurs on Jan 1st.
+
651  if (currentEra.equals(eraAfter)) {
+
652  return;
+
653  }
+
654 
+
655  // If the ZoneEra did change, find the latest transition prior to
+
656  // {year + 1, 1, 1}, then shift that Transition to Jan 1st of the
+
657  // following year.
+
658  ZRB latest = findLatestPriorRule(eraAfter.zonePolicy(), year + 1);
+
659  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
660  logging::printf(
+
661  "addTransitionsAfterYear(): adding latest prior ");
+
662  if (latest.isNull()) {
+
663  logging::printf("ZR(null)\n");
+
664  } else {
+
665  logging::printf("ZR[%d,%d]\n", latest.fromYear(), latest.toYear());
+
666  }
+
667  }
+
668  addTransition(year + 1, 1 /*month*/, eraAfter, latest);
+
669  }
+
670 
+
694  void addTransition(int16_t year, uint8_t month, const ZEB& era,
+
695  const ZRB& rule) const {
+
696 
+
697  // If a zone needs more transitions than kMaxCacheEntries, the check below
+
698  // will cause the DST transition information to be inaccurate, and it is
+
699  // highly likely that this situation would be caught in the
+
700  // AceTimeValidation tests. Since these integration tests pass, I feel
+
701  // confident that those zones which need more than kMaxCacheEntries are
+
702  // already filtered out by tzcompiler.py.
+
703  //
+
704  // Ideally, the tzcompiler.py script would explicitly remove those zones
+
705  // which need more than kMaxCacheEntries Transitions. But this would
+
706  // require a Python version of the BasicZoneProcessor, and unfortunately,
+
707  // zone_processor.py implements only the ExtendedZoneProcessor algorithm
+
708  // An early version of zone_processor.py may have implemented something
+
709  // close to BasicZoneProcessor, and it may be available in the git
+
710  // history. But it seems like too much work right now to try to dig that
+
711  // out, just to implement the explicit check for kMaxCacheEntries. It
+
712  // would mean maintaining another version of zone_processor.py.
+
713  if (mNumTransitions >= kMaxCacheEntries) return;
+
714 
+
715  // Insert new element at the end of the list.
+
716  // NOTE: It is probably tempting to pass a pointer (or reference) to
+
717  // mTransitions[mNumTransitions] into createTransition(), instead of
+
718  // returning it by value. However, MemoryBenchmark shows that directly
+
719  // updating the Transition through the pointer increases flash memory
+
720  // consumption by ~110 bytes on AVR processors. It seems that creating a
+
721  // local copy of Transition on the stack, filling it, and then copying it
+
722  // by value takes fewer instructions.
+
723  mTransitions[mNumTransitions] = createTransition(year, month, era, rule);
+
724  mNumTransitions++;
+
725 
+
726  // perform an insertion sort based on ZoneRule.inMonth()
+
727  for (uint8_t i = mNumTransitions - 1; i > 0; i--) {
+
728  Transition& left = mTransitions[i - 1];
+
729  Transition& right = mTransitions[i];
+
730  // assume only 1 rule per month
+
731  if (basic::compareYearMonth(left.year, left.month,
+
732  right.year, right.month) > 0) {
+
733  Transition tmp = left;
+
734  left = right;
+
735  right = tmp;
+
736  }
+
737  }
+
738  }
+
739 
+
745  static Transition createTransition(int16_t year, uint8_t month,
+
746  const ZEB& era, const ZRB& rule) {
+
747 
+
748  Transition transition;
+
749  int16_t deltaMinutes;
+
750  uint8_t mon;
+
751  if (rule.isNull()) {
+
752  mon = 1; // RULES is either '-' or 'hh:mm' so takes effect in Jan
+
753  deltaMinutes = era.deltaSeconds() / kSecPerMin;
+
754  transition.abbrev[0] = '\0';
+
755  } else {
+
756  mon = rule.inMonth();
+
757  deltaMinutes = rule.deltaSeconds() / kSecPerMin;
+
758  ace_common::strncpy_T(
+
759  transition.abbrev, rule.letter(), internal::kAbbrevSize - 1);
+
760  transition.abbrev[internal::kAbbrevSize - 1] = '\0';
+
761  }
+
762  // Clobber the month if specified.
+
763  if (month != 0) {
+
764  mon = month;
765  }
-
766  // Clobber the month if specified.
-
767  if (month != 0) {
-
768  mon = month;
-
769  }
-
770  int16_t offsetMinutes = era.offsetSeconds() / kSecPerMin + deltaMinutes;
-
771 
-
772  transition.era = era;
-
773  transition.rule = rule;
-
774  transition.startEpochSeconds = 0;
-
775  transition.offsetMinutes = offsetMinutes;
-
776  transition.deltaMinutes = deltaMinutes;
-
777  transition.year = year;
-
778  transition.month = mon;
-
779  return transition;
-
780  }
-
781 
-
786  static ZEB findZoneEra(const ZIB& info, int16_t year) {
-
787  for (uint8_t i = 0; i < info.numEras(); i++) {
-
788  const ZEB era = info.era(i);
-
789  if (year < era.untilYear()) return era;
-
790  }
-
791  // Return the last ZoneEra if we run off the end.
-
792  return info.era(info.numEras() - 1);
-
793  }
-
794 
-
802  void calcTransitions() const {
-
803  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
804  logging::printf("calcTransitions():\n");
-
805  }
+
766  int16_t offsetMinutes = era.offsetSeconds() / kSecPerMin;
+
767 
+
768  transition.era = era;
+
769  transition.rule = rule;
+
770  transition.startEpochSeconds = 0;
+
771  transition.offsetMinutes = offsetMinutes;
+
772  transition.deltaMinutes = deltaMinutes;
+
773  transition.year = year;
+
774  transition.month = mon;
+
775  return transition;
+
776  }
+
777 
+
782  static ZEB findZoneEra(const ZIB& info, int16_t year) {
+
783  for (uint8_t i = 0; i < info.numEras(); i++) {
+
784  const ZEB era = info.era(i);
+
785  if (year < era.untilYear()) return era;
+
786  }
+
787  // Return the last ZoneEra if we run off the end.
+
788  return info.era(info.numEras() - 1);
+
789  }
+
790 
+
798  void calcTransitions() const {
+
799  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
800  logging::printf("calcTransitions():\n");
+
801  }
+
802 
+
803  // Set the initial startEpochSeconds to be -Infinity
+
804  Transition* prevTransition = &mTransitions[0];
+
805  prevTransition->startEpochSeconds = kMinEpochSeconds;
806 
-
807  // Set the initial startEpochSeconds to be -Infinity
-
808  Transition* prevTransition = &mTransitions[0];
-
809  prevTransition->startEpochSeconds = kMinEpochSeconds;
+
807  for (uint8_t i = 1; i < mNumTransitions; i++) {
+
808  Transition& transition = mTransitions[i];
+
809  const int16_t year = transition.year;
810 
-
811  for (uint8_t i = 1; i < mNumTransitions; i++) {
-
812  Transition& transition = mTransitions[i];
-
813  const int16_t year = transition.year;
-
814 
-
815  if (transition.rule.isNull()) {
-
816  // If the transition is simple (has no named rule), then the
-
817  // ZoneEra applies for the entire year (since BasicZoneProcessor
-
818  // supports only whole year in the UNTIL field). The whole year UNTIL
-
819  // field has an implied 'w' suffix on 00:00, we don't need to call
-
820  // calcRuleOffsetMinutes() with a 'w', we can just use the previous
-
821  // transition's offset to calculate the startDateTime of this
-
822  // transition.
-
823  //
-
824  // Also, when transition.rule == nullptr, the mNumTransitions should
-
825  // be 1, since only a single transition is added by
-
826  // addTransitionsForYear().
-
827  const int16_t prevOffsetMinutes = prevTransition->offsetMinutes;
-
828  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
-
829  year, 1, 1, 0, 0, 0,
-
830  TimeOffset::forMinutes(prevOffsetMinutes));
-
831  transition.startEpochSeconds = startDateTime.toEpochSeconds();
-
832  } else {
-
833  // In this case, the transition points to a named ZonePolicy, which
-
834  // means that there could be multiple ZoneRules associated with the
-
835  // given year. For each transition, determine the startEpochSeconds,
-
836  // and the effective offset code.
-
837 
-
838  // Determine the start date of the rule.
-
839  const internal::MonthDay monthDay = internal::calcStartDayOfMonth(
-
840  year, transition.month, transition.rule.onDayOfWeek(),
-
841  transition.rule.onDayOfMonth());
-
842 
-
843  // Determine the offset of the 'atTimeSuffix'. The 'w' suffix
-
844  // requires the offset of the previous transition.
-
845  const int16_t prevOffsetMinutes = calcRuleOffsetMinutes(
-
846  prevTransition->offsetMinutes,
-
847  transition.era.offsetSeconds() / kSecPerMin,
-
848  transition.rule.atTimeSuffix());
-
849 
-
850  // startDateTime
-
851  const uint16_t minutes = transition.rule.atTimeSeconds() / 60;
-
852  const uint8_t atHour = minutes / 60;
-
853  const uint8_t atMinute = minutes % 60;
-
854  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
-
855  year, monthDay.month, monthDay.day,
-
856  atHour, atMinute, 0 /*second*/,
-
857  TimeOffset::forMinutes(prevOffsetMinutes));
-
858  transition.startEpochSeconds = startDateTime.toEpochSeconds();
-
859  }
-
860 
-
861  prevTransition = &transition;
-
862  }
-
863  }
-
864 
-
871  static int16_t calcRuleOffsetMinutes(int16_t prevEffectiveOffsetMinutes,
-
872  int16_t currentBaseOffsetMinutes, uint8_t atSuffix) {
-
873  if (atSuffix == basic::ZoneContext::kSuffixW) {
-
874  return prevEffectiveOffsetMinutes;
-
875  } else if (atSuffix == basic::ZoneContext::kSuffixS) {
-
876  return currentBaseOffsetMinutes;
-
877  } else { // 'u', 'g' or 'z'
-
878  return 0;
-
879  }
-
880  }
-
881 
-
883  void calcAbbreviations() const {
-
884  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
-
885  logging::printf("calcAbbreviations():\n");
-
886  }
-
887 
-
888  for (uint8_t i = 0; i < mNumTransitions; i++) {
-
889  calcAbbreviation(&mTransitions[i]);
-
890  }
-
891  }
-
892 
-
894  static void calcAbbreviation(Transition* transition) {
-
895  internal::createAbbreviation(
-
896  transition->abbrev,
-
897  internal::kAbbrevSize,
-
898  transition->era.format(),
-
899  transition->deltaMinutes,
-
900  transition->abbrev);
-
901  }
-
902 
-
904  const Transition* findMatch(acetime_t epochSeconds) const {
-
905  const Transition* closestMatch = nullptr;
-
906  for (uint8_t i = 0; i < mNumTransitions; i++) {
-
907  const Transition* m = &mTransitions[i];
-
908  if (closestMatch == nullptr || m->startEpochSeconds <= epochSeconds) {
-
909  closestMatch = m;
-
910  }
-
911  }
-
912  return closestMatch;
-
913  }
+
811  if (transition.rule.isNull()) {
+
812  // If the transition is simple (has no named rule), then the
+
813  // ZoneEra applies for the entire year (since BasicZoneProcessor
+
814  // supports only whole year in the UNTIL field). The whole year UNTIL
+
815  // field has an implied 'w' suffix on 00:00, we don't need to call
+
816  // calcRuleOffsetMinutes() with a 'w', we can just use the previous
+
817  // transition's offset to calculate the startDateTime of this
+
818  // transition.
+
819  //
+
820  // Also, when transition.rule == nullptr, the mNumTransitions should
+
821  // be 1, since only a single transition is added by
+
822  // addTransitionsForYear().
+
823  const int16_t prevTotalOffsetMinutes = prevTransition->offsetMinutes
+
824  + prevTransition->deltaMinutes;
+
825  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
+
826  year, 1, 1, 0, 0, 0,
+
827  TimeOffset::forMinutes(prevTotalOffsetMinutes));
+
828  transition.startEpochSeconds = startDateTime.toEpochSeconds();
+
829  } else {
+
830  // In this case, the transition points to a named ZonePolicy, which
+
831  // means that there could be multiple ZoneRules associated with the
+
832  // given year. For each transition, determine the startEpochSeconds,
+
833  // and the effective offset time.
+
834 
+
835  // Determine the start date of the rule.
+
836  const internal::MonthDay monthDay = internal::calcStartDayOfMonth(
+
837  year, transition.month, transition.rule.onDayOfWeek(),
+
838  transition.rule.onDayOfMonth());
+
839 
+
840  // Determine the offset of the 'atTimeSuffix'. The 'w' suffix
+
841  // requires the offset of the previous transition.
+
842  const int16_t prevTotalOffsetMinutes = calcRuleOffsetMinutes(
+
843  prevTransition->offsetMinutes + prevTransition->deltaMinutes,
+
844  transition.era.offsetSeconds() / kSecPerMin,
+
845  transition.rule.atTimeSuffix());
+
846 
+
847  // startDateTime
+
848  const uint16_t minutes = transition.rule.atTimeSeconds() / 60;
+
849  const uint8_t atHour = minutes / 60;
+
850  const uint8_t atMinute = minutes % 60;
+
851  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
+
852  year, monthDay.month, monthDay.day,
+
853  atHour, atMinute, 0 /*second*/,
+
854  TimeOffset::forMinutes(prevTotalOffsetMinutes));
+
855  transition.startEpochSeconds = startDateTime.toEpochSeconds();
+
856  }
+
857 
+
858  prevTransition = &transition;
+
859  }
+
860  }
+
861 
+
868  static int16_t calcRuleOffsetMinutes(int16_t prevTotalOffsetMinutes,
+
869  int16_t currentBaseOffsetMinutes, uint8_t atSuffix) {
+
870  if (atSuffix == basic::ZoneContext::kSuffixW) {
+
871  return prevTotalOffsetMinutes;
+
872  } else if (atSuffix == basic::ZoneContext::kSuffixS) {
+
873  return currentBaseOffsetMinutes;
+
874  } else { // 'u', 'g' or 'z'
+
875  return 0;
+
876  }
+
877  }
+
878 
+
880  void calcAbbreviations() const {
+
881  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
882  logging::printf("calcAbbreviations():\n");
+
883  }
+
884 
+
885  for (uint8_t i = 0; i < mNumTransitions; i++) {
+
886  Transition* transition = &mTransitions[i];
+
887  internal::createAbbreviation(
+
888  transition->abbrev,
+
889  internal::kAbbrevSize,
+
890  transition->era.format(),
+
891  transition->offsetMinutes * kSecPerMin,
+
892  transition->deltaMinutes * kSecPerMin,
+
893  transition->abbrev);
+
894  }
+
895  }
+
896 
+
898  const Transition* findMatch(acetime_t epochSeconds) const {
+
899  const Transition* closestMatch = nullptr;
+
900  for (uint8_t i = 0; i < mNumTransitions; i++) {
+
901  const Transition* m = &mTransitions[i];
+
902  if (closestMatch == nullptr || m->startEpochSeconds <= epochSeconds) {
+
903  closestMatch = m;
+
904  }
+
905  }
+
906  return closestMatch;
+
907  }
+
908 
+
909  private:
+
910  static const int32_t kSecPerMin = 60;
+
911 
+
912  const ZIS* mZoneInfoStore; // nullable
+
913  ZIB mZoneInfoBroker;
914 
-
915  private:
-
916  static const int32_t kSecPerMin = 60;
-
917 
-
918  const ZIS* mZoneInfoStore; // nullable
-
919  ZIB mZoneInfoBroker;
-
920 
-
921  mutable uint8_t mNumTransitions = 0;
-
922  mutable Transition mTransitions[kMaxCacheEntries];
-
923 };
-
924 
- -
930  basic::ZoneInfoStore,
-
931  basic::ZoneInfoBroker,
-
932  basic::ZoneEraBroker,
-
933  basic::ZonePolicyBroker,
-
934  basic::ZoneRuleBroker> {
-
935 
-
936  public:
-
938  static const uint8_t kTypeBasic = 3;
-
939 
-
940  explicit BasicZoneProcessor(const basic::ZoneInfo* zoneInfo = nullptr)
- -
942  basic::ZoneInfoStore,
-
943  basic::ZoneInfoBroker,
-
944  basic::ZoneEraBroker,
-
945  basic::ZonePolicyBroker,
-
946  basic::ZoneRuleBroker>(
-
947  kTypeBasic, &mZoneInfoStore, (uintptr_t) zoneInfo)
-
948  {}
+
915  mutable uint8_t mNumTransitions = 0;
+
916  mutable Transition mTransitions[kMaxCacheEntries];
+
917 };
+
918 
+ +
924  basic::ZoneInfoStore,
+
925  basic::ZoneInfoBroker,
+
926  basic::ZoneEraBroker,
+
927  basic::ZonePolicyBroker,
+
928  basic::ZoneRuleBroker> {
+
929 
+
930  public:
+
932  static const uint8_t kTypeBasic = 3;
+
933 
+
934  explicit BasicZoneProcessor(const basic::ZoneInfo* zoneInfo = nullptr)
+ +
936  basic::ZoneInfoStore,
+
937  basic::ZoneInfoBroker,
+
938  basic::ZoneEraBroker,
+
939  basic::ZonePolicyBroker,
+
940  basic::ZoneRuleBroker>(
+
941  kTypeBasic, &mZoneInfoStore, (uintptr_t) zoneInfo)
+
942  {}
+
943 
+
944  private:
+
945  basic::ZoneInfoStore mZoneInfoStore;
+
946 };
+
947 
+
948 } // namespace ace_time
949 
-
950  private:
-
951  basic::ZoneInfoStore mZoneInfoStore;
-
952 };
-
953 
-
954 } // namespace ace_time
-
955 
-
956 #endif
-
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.
-
bool isLink() const override
Return true if timezone is a Link entry pointing to a Zone entry.
-
basic::TransitionTemplate< ZIB, ZEB, ZPB, ZRB > Transition
Exposed only for testing purposes.
-
void setZoneKey(uintptr_t zoneKey) override
Set the opaque zoneKey of this object to a new value, reseting any internally cached information.
-
void printNameTo(Print &printer) const override
Print a human-readable identifier (e.g.
-
FindResult findByEpochSeconds(acetime_t epochSeconds) const override
Return the search results at given epochSeconds.
-
void setZoneInfoStore(const ZIS *zoneInfoStore)
Set the zone info store at runtime.
-
void log() const
Used only for debugging.
-
BasicZoneProcessorTemplate(uint8_t type, const ZIS *zoneInfoStore, uintptr_t zoneKey)
Constructor.
-
void printShortNameTo(Print &printer) const override
Print a short human-readable identifier (e.g.
-
bool equalsZoneKey(uintptr_t zoneKey) const override
Return true if ZoneProcessor is associated with the given opaque zoneKey.
-
FindResult findByLocalDateTime(const LocalDateTime &ldt) const override
Return the search results at given LocalDateTime.
-
uint32_t getZoneId() const override
Return the unique stable zoneId.
-
void printTargetNameTo(Print &printer) const override
Print the full identifier (e.g.
-
A specific implementation of BasicZoneProcessorTemplate that uses ZoneXxxBrokers which read from zone...
-
static const uint8_t kTypeBasic
Unique TimeZone type identifier for BasicZoneProcessor.
+
950 #endif
+
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.
+
bool isLink() const override
Return true if timezone is a Link entry pointing to a Zone entry.
+
basic::TransitionTemplate< ZIB, ZEB, ZPB, ZRB > Transition
Exposed only for testing purposes.
+
void setZoneKey(uintptr_t zoneKey) override
Set the opaque zoneKey of this object to a new value, reseting any internally cached information.
+
void printNameTo(Print &printer) const override
Print a human-readable identifier (e.g.
+
FindResult findByEpochSeconds(acetime_t epochSeconds) const override
Return the search results at given epochSeconds.
+
void setZoneInfoStore(const ZIS *zoneInfoStore)
Set the zone info store at runtime.
+
void log() const
Used only for debugging.
+
BasicZoneProcessorTemplate(uint8_t type, const ZIS *zoneInfoStore, uintptr_t zoneKey)
Constructor.
+
void printShortNameTo(Print &printer) const override
Print a short human-readable identifier (e.g.
+
bool equalsZoneKey(uintptr_t zoneKey) const override
Return true if ZoneProcessor is associated with the given opaque zoneKey.
+
FindResult findByLocalDateTime(const LocalDateTime &ldt) const override
Return the search results at given LocalDateTime.
+
uint32_t getZoneId() const override
Return the unique stable zoneId.
+
void printTargetNameTo(Print &printer) const override
Print the full identifier (e.g.
+
A specific implementation of BasicZoneProcessorTemplate that uses ZoneXxxBrokers which read from zone...
+
static const uint8_t kTypeBasic
Unique TimeZone type identifier for BasicZoneProcessor.
static int16_t currentEpochYear()
Get the current epoch year.
Definition: Epoch.h:27
Result of a search for transition at a specific epochSeconds or a specific LocalDateTime.
Definition: ZoneProcessor.h:23
int32_t stdOffsetSeconds
STD offset of the resulting OffsetDateTime.
Definition: ZoneProcessor.h:79
@@ -783,19 +779,19 @@
Identifiers used by implementation code which need to be publically exported.
int32_t acetime_t
Type for the number of seconds from epoch.
Definition: common.h:24
-
Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra a...
-
uint8_t month
Month of the transition.
-
acetime_t startEpochSeconds
The calculated transition time of the given rule.
-
ZRB rule
The Zone transition rule that matched for the the given year.
-
ZEB era
The ZoneEra that matched the given year.
-
void log() const
Used only for debugging.
-
int16_t year
Year of the Transition.
-
int16_t offsetMinutes
The total effective UTC offset minutes at the start of transition, including DST offset.
-
char abbrev[internal::kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
-
int16_t deltaMinutes
The deltaMinutes from "standard time" at the start of transition.
-
static const uint8_t kSuffixS
Represents 's' or standard time.
Definition: ZoneInfoLow.h:65
-
static const uint8_t kSuffixW
Represents 'w' or wall time.
Definition: ZoneInfoLow.h:62
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfoLow.h:302
+
Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra a...
+
uint8_t month
Month of the transition.
+
acetime_t startEpochSeconds
The calculated transition time of the given rule.
+
ZRB rule
The Zone transition rule that matched for the the given year.
+
ZEB era
The ZoneEra that matched the given year.
+
void log() const
Used only for debugging.
+
int16_t year
Year of the Transition.
+
int16_t offsetMinutes
The standard time offset minutes at the start of transition, not including DST offset.
+
char abbrev[internal::kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
+
int16_t deltaMinutes
The deltaMinutes from "standard time" at the start of transition.
+
static const uint8_t kSuffixS
Represents 's' or standard time.
Definition: ZoneInfoLow.h:83
+
static const uint8_t kSuffixW
Represents 'w' or wall time.
Definition: ZoneInfoLow.h:80
+
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfoLow.h:320