6 #ifndef ACE_TIME_TIME_PERIOD_H
7 #define ACE_TIME_TIME_PERIOD_H
77 mHour = mMinute = mSecond = 255;
81 mHour = mMinute = mSecond = 255;
85 mHour = mMinute = mSecond = 255;
96 mSecond = seconds % 60;
98 mMinute = seconds % 60;
104 uint8_t
hour()
const {
return mHour; }
110 uint8_t
minute()
const {
return mMinute; }
116 uint8_t
second()
const {
return mSecond; }
122 int8_t
sign()
const {
return mSign; }
140 int32_t seconds = ((mHour * (int16_t) 60) + mMinute) * (int32_t) 60
142 return (mSign > 0) ? seconds : -seconds;
154 return mSign == 0 || mSecond == 255 || mMinute == 255;
165 if (thisSeconds < thatSeconds) {
167 }
else if (thisSeconds > thatSeconds) {
185 void printTo(Print& printer)
const;
212 return a.mSecond == b.mSecond
213 && a.mMinute == b.mMinute
214 && a.mHour == b.mHour
215 && a.mSign == b.mSign;
Represents a period of time relative to some known point in time, potentially represented by a DateTi...
int8_t sign() const
Return the sign bit.
static const int32_t kInvalidPeriodSeconds
An invalid time period seconds.
TimePeriod(int32_t seconds=0)
Constructor from number of seconds.
static TimePeriod forError(int8_t sign=0)
Factory method that creates a TimePeriod representing a generic error so that isError() returns true.
void minute(uint8_t minute)
Set the minute.
static const int32_t kMaxPeriodSeconds
The largest period that can be represented by this class, in seconds, corresponding to +/- 255h59m59s...
int8_t compareTo(const TimePeriod &that) const
Compare 'this' TimePeriod with 'that' TimePeriod and return (<0, 0, >0) according to (this<that,...
void hour(uint8_t hour)
Set the hour.
TimePeriod(uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1)
Constructor.
uint8_t second() const
Return the second.
void sign(int8_t sign)
Set the sign bit.
friend bool operator==(const TimePeriod &a, const TimePeriod &b)
Return true if two TimePeriod objects are equal.
uint8_t minute() const
Return the minute.
void printTo(Print &printer) const
Print to given printer.
void second(uint8_t second)
Set the second.
uint8_t hour() const
Return the hour.
int32_t toSeconds() const
Convert to number of seconds.
bool isError() const
Return true if this represents an error.