Skip to content

Commit 22be0e7

Browse files
authored
Merge pull request #98 from bxparks/develop
merge 1.11.4 into master
2 parents 28d1532 + 0c8d2c2 commit 22be0e7

File tree

318 files changed

+31421
-33803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

318 files changed

+31421
-33803
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
# Changelog
22

33
* Unreleased
4+
* 1.11.4 (2022-08-13, TZDB 2022b)
5+
* Add `ace_time::daysUntil(localDate, month, day)` utility function that
6+
returns the number of days until the next (month, day) date. Useful for
7+
calculating the number of days until the next Christmas for example.
8+
* Upgrade to TZDB 2022b.
9+
* https://mm.icann.org/pipermail/tz-announce/2022-August/000071.html
10+
* Chile's DST is delayed by a week in September 2022.
11+
* Iran no longer observes DST after 2022.
12+
* Rename Europe/Kiev to Europe/Kyiv.
13+
* Finish moving duplicate-since-1970 zones to 'backzone'.
14+
* zonedb
15+
* Number of zones decreases from 258 to 237.
16+
* Number of links increases from 193 to 215.
17+
* zonedbx
18+
* Number of zones decreases from 377 to 356.
19+
* Number of links increases from 217 to 239.
420
* 1.11.3 (2022-03-20, TZDB 2022a)
521
* Update to TZDB 2022a.
622
* https://mm.icann.org/pipermail/tz-announce/2022-March.txt

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ This library can be an alternative to the Arduino Time
5353
(https://github.com/PaulStoffregen/Time) and Arduino Timezone
5454
(https://github.com/JChristensen/Timezone) libraries.
5555

56-
**Version**: 1.11.3 (2022-03-20, TZDB version 2022a)
56+
**Version**: 1.11.4 (2022-08-13, TZDB version 2022b)
5757

5858
**Changelog**: [CHANGELOG.md](CHANGELOG.md)
5959

USER_GUIDE.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The primary purpose of AceTime classes is to convert between an integer
44
representing the number of seconds since the AceTime Epoch (2000-01-01T00:00:00
55
UTC) and the equivalent human-readable components in different timezones.
66

7-
**Version**: 1.11.3 (2021-03.20, TZDB 2022a)
7+
**Version**: 1.11.4 (2022-08-13, TZDB 2022b)
88

99
**Related Documents**:
1010

@@ -1869,6 +1869,11 @@ epochSeconds which can correspond to the given LocalDateTime. The `fold`
18691869
parameter is an *input* parameter to the `forComponents()` in both cases.
18701870
The impact of the `fold` parameter is as follows:
18711871
1872+
**Normal**: Not a gap or overlap. The `forComponents()` method ignores the
1873+
`fold` parameter if there is no ambiguity about the local date-time components.
1874+
The returned `ZonedDateTime` object will contain a `fold()` value that preserves
1875+
the input `fold` parameter.
1876+
18721877
**Overlap**: If `ZonedDateTime::forComponents()` is called with during an
18731878
overlap of `LocalDateTime` (e.g. 2:30am during a fall back from 2am to 3am), the
18741879
factory method uses the user-provided `fold` parameter to select the following:
@@ -1896,20 +1901,26 @@ the following, and perhaps counter-intuitive, manner:
18961901
* Which becomes normalized to the *later* ZonedDateTime which has the
18971902
*later* UTC offset.
18981903
* So 02:30 is interpreted as 02:30-08:00, which is normalized to
1899-
03:30-07:00, and the `fold` after normalization is set to 0.
1904+
03:30-07:00, and the `fold` after normalization is set to 1 to indicate
1905+
that the later transition was selected.
19001906
* `fold==1`
19011907
* Selects the *later* Transition element, extended backward to apply to the
19021908
given LocalDateTime,
19031909
* Which maps to the *earlier* UTC/epochSeconds,
19041910
* Which becomes normalized to the *earlier* ZonedDateTime which has the
19051911
*earlier* UTC offset.
19061912
* So 02:30 is interpreted as 02:30-07:00, which is normalized to
1907-
01:30-08:00, and the `fold` after normalization is set to 0.
1913+
01:30-08:00, and the `fold` after normalization is set to 0 to indicate
1914+
that the earlier transition was selected.
19081915
19091916
The time shift during a gap seems to be the *opposite* of the shift during an
19101917
overlap, but internally this is self-consistent. Just as importantly, this
19111918
follows the same logic as PEP 495.
19121919
1920+
Note that the `fold` parameter flips its value (from 0 to 1, or vise versea) if
1921+
`forComponents()` is called in the gap. Currently, this is the only publicly
1922+
exposed mechanism for detecting that a given date-time is in the gap.
1923+
19131924
<a name="SemanticChangesWithFold"></a>
19141925
#### Semantic Changes with Fold
19151926
@@ -1945,8 +1956,8 @@ A more subtle, but important semantic change, is that the `fold` parameter
19451956
preserves information during gaps and overlaps. This means that we can do
19461957
round-trip conversions of `ZonedDateTime` properly. We can start with
19471958
epochSeconds, convert to components, then back to epochSeconds, and get back the
1948-
same epochSeconds. With the `fold` parameter, this round-trip was not guaranteed
1949-
during an overlap.
1959+
same epochSeconds. Without the `fold` parameter, this round-trip was not
1960+
guaranteed during an overlap.
19501961
19511962
<a name="ResourceConsumptionWithFold"></a>
19521963
#### Resource Consumption with Fold
@@ -2046,8 +2057,8 @@ in the `transformer.py` script and summarized in
20462057
* the UNTIL time suffix can only be 'w' (not 's' or 'u')
20472058
* there can be only one DST transition in a single month
20482059

2049-
As of version v1.11.3 (with TZDB 2022a), this database contains 258 Zone entries
2050-
and 193 Link entries, supported from the year 2000 to 2049 (inclusive).
2060+
As of version v1.11.4 (with TZDB 2022b), this database contains 237 Zone entries
2061+
and 215 Link entries, supported from the year 2000 to 2049 (inclusive).
20512062

20522063
<a name="ExtendedZonedbx"></a>
20532064
#### Extended zonedbx
@@ -2063,8 +2074,8 @@ are:
20632074
* the AT and UNTIL fields are multiples of 1-minute
20642075
* the LETTER field can be arbitrary strings
20652076

2066-
As of version v1.11.3 (with TZDB 2022a), this database contains all 377 Zone
2067-
entries and 217 Link entries, supported from the year 2000 to 2049 (inclusive).
2077+
As of version v1.11.4 (with TZDB 2022b), this database contains all 356 Zone
2078+
entries and 239 Link entries, supported from the year 2000 to 2049 (inclusive).
20682079

20692080
<a name="TzDatabaseVersion"></a>
20702081
#### TZ Database Version

docs/doxygen.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "AceTime"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 1.11.3
41+
PROJECT_NUMBER = 1.11.4
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

docs/html/AceTime_8h_source.html

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>
@@ -124,12 +124,13 @@
124124
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="zoned__date__time__mutation_8h.html">ace_time/zoned_date_time_mutation.h</a>&quot;</span></div>
125125
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#include &quot;ace_time/TimePeriod.h&quot;</span></div>
126126
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="time__period__mutation_8h.html">ace_time/time_period_mutation.h</a>&quot;</span></div>
127-
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
128-
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">// Version format: xxyyzz == &quot;xx.yy.zz&quot;</span></div>
129-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#define ACE_TIME_VERSION 11103</span></div>
130-
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#define ACE_TIME_VERSION_STRING &quot;1.11.3&quot;</span></div>
131-
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
132-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif</span></div>
127+
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#include &quot;ace_time/ace_time_utils.h&quot;</span></div>
128+
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
129+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">// Version format: xxyyzz == &quot;xx.yy.zz&quot;</span></div>
130+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#define ACE_TIME_VERSION 11104</span></div>
131+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#define ACE_TIME_VERSION_STRING &quot;1.11.4&quot;</span></div>
132+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
133+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#endif</span></div>
133134
</div><!-- fragment --></div><!-- contents -->
134135
<div class="ttc" id="atime__period__mutation_8h_html"><div class="ttname"><a href="time__period__mutation_8h.html">time_period_mutation.h</a></div></div>
135136
<div class="ttc" id="azoned__date__time__mutation_8h_html"><div class="ttname"><a href="zoned__date__time__mutation_8h.html">zoned_date_time_mutation.h</a></div></div>

docs/html/BasicBrokers_8cpp_source.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>

docs/html/BasicBrokers_8h.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>

docs/html/BasicBrokers_8h_source.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>

docs/html/BasicZoneProcessor_8h_source.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>

docs/html/BasicZone_8cpp_source.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AceTime
25-
&#160;<span id="projectnumber">1.11.3</span>
25+
&#160;<span id="projectnumber">1.11.4</span>
2626
</div>
2727
<div id="projectbrief">Date and time classes for Arduino that support timezones from the TZ Database.</div>
2828
</td>

0 commit comments

Comments
 (0)