|
4 | 4 | [](https://github.com/bxparks/AceTime/actions/workflows/validation.yml) |
5 | 5 |
|
6 | 6 | The AceTime library provides Date, Time, and TimeZone classes which can convert |
7 | | -"epoch seconds" (seconds from the AceTime Epoch of 2050-01-01 UTC) to |
| 7 | +"epoch seconds" from the AceTime Epoch (default 2050-01-01 UTC) to |
8 | 8 | human-readable local date and time fields. Those classes can also convert local |
9 | 9 | date and time between different time zones, properly accounting for all DST |
10 | | -transitions from the year 2000 until 2100. The AceTime epoch is adjustable by |
11 | | -the client application and can be shifted forward to allow the library to work |
12 | | -over any 100-year interval in the future, until the year 10000. |
| 10 | +transitions from the year 2000 until 2100. |
13 | 11 |
|
14 | | -The pre-generated ZoneInfo Database is extracted from the [IANA TZ |
15 | | -database](https://www.iana.org/time-zones). Different subsets of the ZoneInfo |
16 | | -Database can be compiled into the application to reduce flash memory size. |
17 | | -Standard C-library `time_t` types, 32-bit and 64-bit, are supported through |
18 | | -conversion methods. |
| 12 | +The default AceTime epoch is 2050-01-01, but it can be adjusted by the client |
| 13 | +application. The timezone functions are valid over any 100-year interval |
| 14 | +straddling +/- 50 years of the `Epoch::currentEpochYear()`, subject to the |
| 15 | +limits of the ZoneInfo Databases. |
| 16 | + |
| 17 | +The two pre-generated ZoneInfo Databases (`zonedb` and `zonedbx`) are |
| 18 | +programmatically extracted from the [IANA TZ |
| 19 | +database](https://www.iana.org/time-zones). They are valid from the year 2000 |
| 20 | +until the year 10000. Client applications can choose to use reduced subsets of |
| 21 | +the ZoneInfo Database to save flash memory size. |
| 22 | + |
| 23 | +Support for [Unix time](https://en.wikipedia.org/wiki/Unix_time) using the Unix |
| 24 | +epoch of 1970-01-01 is provided through conversion functions of the `time_t` |
| 25 | +type. Only the 64-bit version of the `time_t` type is supported to avoid the |
| 26 | +[Year 2038 Problem](https://en.wikipedia.org/wiki/Year_2038_problem)). |
19 | 27 |
|
20 | 28 | The companion library [AceTimeClock](https://github.com/bxparks/AceTimeClock) |
21 | 29 | provides Clock classes to retrieve the time from more accurate sources, such as |
@@ -44,17 +52,15 @@ This library can be an alternative to the Arduino Time |
44 | 52 | (https://github.com/PaulStoffregen/Time) and Arduino Timezone |
45 | 53 | (https://github.com/JChristensen/Timezone) libraries. |
46 | 54 |
|
47 | | -**Breaking Changes in v2.0**: 1) The AceTime epoch is shifted forward 50 years |
48 | | -from 2000-01-01 UTC to 2050-01-01 This extends the validity of most timezone |
49 | | -related functions from `[2000,2050)` to `[2000,2100)`. 2) The epoch year is now |
50 | | -an adjustable parameter using the function `Epoch::currentEpochYear(year)`. 3) |
51 | | -The zoneinfo database (`zonedb` and `zonedbx`) are now valid from `[2000, |
52 | | -10000)` independent of the current epoch year. The timezone functions are now |
53 | | -valid over any 100-year interval straddling +/- 50 years of the |
54 | | -`Epoch::currentEpochYear()`. See the [Migrating to |
| 55 | +**Breaking Changes in v2.0**: 1) The default AceTime epoch is shifted forward |
| 56 | +from 2000-01-01 (v1) to 2050-01-01 (v2). This extends the validity of most |
| 57 | +timezone related functions from `[2000,2050)` to `[2000,2100)`. 2) The epoch |
| 58 | +year is now an adjustable parameter using the `Epoch::currentEpochYear(year)` |
| 59 | +function. 3) The zoneinfo databases (`zonedb` and `zonedbx`) are now valid from |
| 60 | +`[2000, 10000)`, independent of the current epoch year. See the [Migrating to |
55 | 61 | v2.0.0](MIGRATING.md#MigratingToVersion200) section for more details. |
56 | 62 |
|
57 | | -**Version**: 2.0 (2022-11-04, TZDB version 2022f) |
| 63 | +**Version**: 2.0.1 (2022-12-04, TZDB version 2022g) |
58 | 64 |
|
59 | 65 | **Changelog**: [CHANGELOG.md](CHANGELOG.md) |
60 | 66 |
|
|
0 commit comments