AceTime  3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
Classes | Static Public Member Functions | List of all members
ace_time::ZoneInfoMid Class Reference

Wrapper class so that the entire collection can be referenced as a singel template parameter. More...

#include <ZoneInfoMid.h>

Classes

struct  ZoneContext
 Metadata about the zone database. More...
 
class  ZoneContextBroker
 Data broker for accessing a ZoneContext. More...
 
struct  ZoneEra
 An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. More...
 
class  ZoneEraBroker
 Data broker for accessing ZoneEra. More...
 
struct  ZoneInfo
 Representation of a given time zone, implemented as an array of ZoneEra records. More...
 
class  ZoneInfoBroker
 Data broker for accessing ZoneInfo. More...
 
class  ZoneInfoStore
 A storage object that creates an ZoneInfoBroker from a key that identifies the ZoneInfo. More...
 
struct  ZonePolicy
 A collection of transition rules which describe the DST rules of a given administrative region. More...
 
class  ZonePolicyBroker
 Data broker for accessing ZonePolicy. More...
 
class  ZoneRegistryBroker
 Data broker for accessing the ZoneRegistry. More...
 
struct  ZoneRule
 A time zone transition rule. More...
 
class  ZoneRuleBroker
 Data broker for accessing ZoneRule. More...
 

Static Public Member Functions

static int16_t toDeltaMinutes (uint8_t deltaCode)
 Convert the deltaCode holding the RULES/DSTOFF field in ZoneEra or the SAVE field in ZoneRule to the delta offset in minutes. More...
 
static int16_t toOffsetMinutes (uint8_t offsetCode, uint8_t deltaCode)
 Convert the offsetCode and deltaCode holding the STDOFF field of the ZoneEra into minutes. More...
 
static uint16_t timeCodeToMinutes (uint8_t code, uint8_t modifier)
 Convert (code, modifier) fields representing the UNTIL time in ZoneInfo or AT time in ZoneRule in one minute resolution. More...
 
static uint8_t toSuffix (uint8_t modifier)
 Extract the 'w', 's' 'u' suffix from the 'modifier' field, so that they can be compared against kSuffixW, kSuffixS and kSuffixU. More...
 

Detailed Description

Wrapper class so that the entire collection can be referenced as a singel template parameter.

Definition at line 46 of file ZoneInfoMid.h.

Member Function Documentation

◆ timeCodeToMinutes()

static uint16_t ace_time::ZoneInfoMid::timeCodeToMinutes ( uint8_t  code,
uint8_t  modifier 
)
inlinestatic

Convert (code, modifier) fields representing the UNTIL time in ZoneInfo or AT time in ZoneRule in one minute resolution.

The code parameter holds the AT or UNTIL time in minutes component in units of 15 minutes. The lower 4-bits of modifier holds the remainder minutes.

Definition at line 393 of file ZoneInfoMid.h.

◆ toDeltaMinutes()

static int16_t ace_time::ZoneInfoMid::toDeltaMinutes ( uint8_t  deltaCode)
inlinestatic

Convert the deltaCode holding the RULES/DSTOFF field in ZoneEra or the SAVE field in ZoneRule to the delta offset in minutes.

The lower 4-bits stores minutes in units of 15-minutes, shifted by 1h, so can represent the interval [-01:00 to 02:45].

deltaMinutes = deltaCode * 15m - 1h

Definition at line 372 of file ZoneInfoMid.h.

◆ toOffsetMinutes()

static int16_t ace_time::ZoneInfoMid::toOffsetMinutes ( uint8_t  offsetCode,
uint8_t  deltaCode 
)
inlinestatic

Convert the offsetCode and deltaCode holding the STDOFF field of the ZoneEra into minutes.

The offsetCode is rounded towards -infinity in 15-minute multiples. The upper 4-bits of deltaCode holds the (unsigned) remainder in one-minute increments.

Definition at line 382 of file ZoneInfoMid.h.

◆ toSuffix()

static uint8_t ace_time::ZoneInfoMid::toSuffix ( uint8_t  modifier)
inlinestatic

Extract the 'w', 's' 'u' suffix from the 'modifier' field, so that they can be compared against kSuffixW, kSuffixS and kSuffixU.

Used for Zone.UNTIL and Rule.AT fields.

Definition at line 402 of file ZoneInfoMid.h.


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