AceTime
0.1
Date and time classes for Arduino that supports the TZ DAtabase, and a system clock synchronized from an NTP server or an RTC chip.
|
A time zone transition rule. More...
#include <ZonePolicy.h>
Public Attributes | |
int8_t const | fromYearTiny |
FROM year as an offset from year 2000 stored as a single byte. More... | |
int8_t const | toYearTiny |
TO year as an offset from year 2000 stored as a single byte. More... | |
uint8_t const | inMonth |
Determined by the IN column. More... | |
uint8_t const | onDayOfWeek |
Determined by the ON column. More... | |
uint8_t const | onDayOfMonth |
Determined by the ON column. More... | |
uint8_t const | atTimeCode |
Determined by the AT column in units of 15-minutes from 00:00. More... | |
uint8_t const | atTimeModifier |
Determined by the suffix in the AT column: 'w'=wall; 's'=standard; 'u'=meridian ('g' and 'z' mean the same as 'u' and are not supported because no current TZ file uses them). | |
int8_t const | deltaCode |
Determined by the SAVE column, containing the offset from UTC, in 15-min increments. | |
uint8_t const | letter |
Determined by the LETTER column. More... | |
Static Public Attributes | |
static const int8_t | kMaxYearTiny = 126 |
The maximum value of fromYearTiny and toYearTiny. More... | |
A time zone transition rule.
It is useful to think of this as a transition rule that repeats on the given (month, day, hour) every year during the interval [fromYear, toYear] inclusive.
Definition at line 7 of file ZonePolicy.h.
uint8_t const ace_time::extended::ZoneRule::atTimeCode |
Determined by the AT column in units of 15-minutes from 00:00.
The range is (0 - 100) corresponding to 00:00 to 25:00.
Definition at line 47 of file ZonePolicy.h.
int8_t const ace_time::extended::ZoneRule::fromYearTiny |
FROM year as an offset from year 2000 stored as a single byte.
Definition at line 15 of file ZonePolicy.h.
uint8_t const ace_time::extended::ZoneRule::inMonth |
|
static |
The maximum value of fromYearTiny and toYearTiny.
Must be < ZoneEra::kMaxUntilYear.
Definition at line 12 of file ZonePolicy.h.
uint8_t const ace_time::extended::ZoneRule::letter |
Determined by the LETTER column.
Determines the substitution into the 's' field (implemented here by just a '') of the ZoneInfo::format field. Possible values are 'S', 'D', '-', or a number < 32 (i.e. a non-printable character). If the value is < 32, then this number is an index offset into the ZonePolicy.letters[] array which contains a (const char*) of the actual multi-character letter.
As of TZ DB version 2018i, there are 4 ZonePolicies which have ZoneRules with a LETTER field longer than 1 character:
Definition at line 78 of file ZonePolicy.h.
uint8_t const ace_time::extended::ZoneRule::onDayOfMonth |
Determined by the ON column.
Used with onDayOfWeek. Possible values are: 0, 1-31.
Definition at line 41 of file ZonePolicy.h.
uint8_t const ace_time::extended::ZoneRule::onDayOfWeek |
Determined by the ON column.
Possible values are: 0, 1=Mon, 7=Sun. There are 3 combinations:
* onDayOfWeek=0, onDayOfMonth=(1-31): exact match * onDayOfWeek=1-7, onDayOfMonth=1-31: dayOfWeek>=dayOfMonth * onDayOfWeek=1-7, onDayOfMonth=0: last{dayOfWeek} *
We support only the '>=' operator, not the '<=' operator which does not seem to be used currently.
Definition at line 35 of file ZonePolicy.h.
int8_t const ace_time::extended::ZoneRule::toYearTiny |
TO year as an offset from year 2000 stored as a single byte.
Definition at line 18 of file ZonePolicy.h.