AceTime
0.3
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
|
Represents a period of time relative to some known point in time, potentially represented by a DateTime. More...
#include <TimePeriod.h>
Public Member Functions | |
TimePeriod (uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1) | |
Constructor. More... | |
TimePeriod (int32_t seconds=0) | |
Constructor from number of seconds. More... | |
uint8_t | hour () const |
Return the hour. More... | |
void | hour (uint8_t hour) |
Set the hour. More... | |
uint8_t | minute () const |
Return the minute. More... | |
void | minute (uint8_t minute) |
Set the minute. More... | |
uint8_t | second () const |
Return the second. More... | |
void | second (uint8_t second) |
Set the second. More... | |
int8_t | sign () const |
Return the sign bit. More... | |
void | sign (int8_t sign) |
Set the sign bit. More... | |
int32_t | toSeconds () const |
Convert to number of seconds. More... | |
int8_t | compareTo (const TimePeriod &that) const |
Compare this TimePeriod with another TimePeriod and return (<0, 0, >0) according to (a<b, a==b, a>b). | |
void | printTo (Print &printer) const |
Print to given printer. More... | |
TimePeriod (const TimePeriod &)=default | |
TimePeriod & | operator= (const TimePeriod &)=default |
Friends | |
bool | operator== (const TimePeriod &a, const TimePeriod &b) |
Return true if two TimePeriod objects are equal. More... | |
Represents a period of time relative to some known point in time, potentially represented by a DateTime.
Each component (hour, minute, second) is stored as an unsigned byte (uint8_t). The sign bit allows forward and backward time periods to be represented.
Definition at line 17 of file TimePeriod.h.
|
inlineexplicit |
Constructor.
hour | hour (0-255) |
minute | minute (0-59) |
second | second (0-59) |
sign | The sign bit. Should be either +1 or -1, but in practice, anything greater than equal to 0 will be considered to be +1, and anything less than zero will be considered -1. |
Definition at line 29 of file TimePeriod.h.
|
inlineexplicit |
Constructor from number of seconds.
The largest valid 'seconds' is +/- 921599 corresponding to (hour=255, minute=59, second=59). For larger numbers, the 'hour' component will be truncated.
seconds | number of seconds (default 0) |
Definition at line 43 of file TimePeriod.h.
|
inline |
Return the hour.
Definition at line 58 of file TimePeriod.h.
|
inline |
Set the hour.
Definition at line 61 of file TimePeriod.h.
|
inline |
Return the minute.
Definition at line 64 of file TimePeriod.h.
|
inline |
Set the minute.
Definition at line 67 of file TimePeriod.h.
void ace_time::TimePeriod::printTo | ( | Print & | printer | ) | const |
Print to given printer.
If the time period is negative, a minus sign is prepended. This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.
Definition at line 8 of file TimePeriod.cpp.
|
inline |
Return the second.
Definition at line 70 of file TimePeriod.h.
|
inline |
Set the second.
Definition at line 73 of file TimePeriod.h.
|
inline |
Return the sign bit.
Definition at line 76 of file TimePeriod.h.
|
inline |
Set the sign bit.
Should be either +1 or -1, but in practice, anything greater than equal to 0 will be considered to be +1, and anything less than zero will be considered -1.
Definition at line 83 of file TimePeriod.h.
|
inline |
Convert to number of seconds.
The largest/smallest possible value returned by this method is +/- 933555, corresponding to (hour=255, minute=255, second=255).
Definition at line 90 of file TimePeriod.h.
|
friend |
Return true if two TimePeriod objects are equal.
Optimized for small changes in the less signficant fields.
Definition at line 145 of file TimePeriod.h.