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.
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ace_time::basic::Transition Struct Reference

Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year. More...

#include <BasicZoneSpecifier.h>

Collaboration diagram for ace_time::basic::Transition:
Collaboration graph
[legend]

Public Member Functions

void log () const
 Used only for debugging. More...
 

Public Attributes

const ZoneEraera
 The ZoneEra that matched the given year. More...
 
const ZoneRulerule
 The Zone transition rule that matched for the the given year. More...
 
int8_t yearTiny
 Year which applies to the ZoneEra or ZoneRule. More...
 
acetime_t startEpochSeconds
 The calculated transition time of the given rule. More...
 
int8_t offsetCode
 The total effective UTC offsetCode at the start of transition, including DST offset. More...
 
char abbrev [kAbbrevSize]
 The calculated effective time zone abbreviation, e.g. More...
 

Static Public Attributes

static const uint8_t kAbbrevSize = 6 + 1
 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.
 

Detailed Description

Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year.

If the ZoneEra does not have a ZoneRule, then the Transition is defined by the start date of the ZoneEra.

Definition at line 31 of file BasicZoneSpecifier.h.

Member Function Documentation

void ace_time::basic::Transition::log ( ) const
inline

Used only for debugging.

Definition at line 70 of file BasicZoneSpecifier.h.

Member Data Documentation

char ace_time::basic::Transition::abbrev[kAbbrevSize]

The calculated effective time zone abbreviation, e.g.

"PST" or "PDT".

Definition at line 67 of file BasicZoneSpecifier.h.

const ZoneEra* ace_time::basic::Transition::era

The ZoneEra that matched the given year.

NonNullable.

Definition at line 42 of file BasicZoneSpecifier.h.

int8_t ace_time::basic::Transition::offsetCode

The total effective UTC offsetCode at the start of transition, including DST offset.

(Maybe rename this effectiveOffsetCode?) The DST offset can be recovered from rule->deltaCode.

Definition at line 64 of file BasicZoneSpecifier.h.

const ZoneRule* ace_time::basic::Transition::rule

The Zone transition rule that matched for the the given year.

Set to nullptr if the RULES column is '-'. We do not support a RULES column that contains a UTC offset. There are only 2 time zones that has this property as of TZ database version 2018g: Europe/Istanbul and America/Argentina/San_Luis.

Definition at line 51 of file BasicZoneSpecifier.h.

acetime_t ace_time::basic::Transition::startEpochSeconds

The calculated transition time of the given rule.

Definition at line 57 of file BasicZoneSpecifier.h.

int8_t ace_time::basic::Transition::yearTiny

Year which applies to the ZoneEra or ZoneRule.

Definition at line 54 of file BasicZoneSpecifier.h.


The documentation for this struct was generated from the following file: