1 #ifndef ACE_TIME_TIME_PERIOD_H 2 #define ACE_TIME_TIME_PERIOD_H 5 #include "common/util.h" 50 mSecond = seconds % 60;
52 mMinute = seconds % 60;
58 uint8_t
hour()
const {
return mHour; }
64 uint8_t
minute()
const {
return mMinute; }
70 uint8_t
second()
const {
return mSecond; }
76 int8_t
sign()
const {
return mSign; }
90 void printTo(Print& printer)
const;
98 int32_t seconds = ((mHour * (int16_t) 60) + mMinute) * (int32_t) 60
100 return (mSign >= 0) ? seconds : -seconds;
108 common::incrementMod(mHour, (uint8_t) 24);
113 common::incrementMod(mHour, limit);
118 common::incrementMod(mMinute, (uint8_t) 60);
128 if (thisSeconds < thatSeconds) {
130 }
else if (thisSeconds == thatSeconds) {
163 return a.mSecond == b.mSecond
164 && a.mMinute == b.mMinute
165 && a.mHour == b.mHour
166 && a.mSign == b.mSign;
int8_t sign() const
Return the sign bit.
int8_t compareTo(const TimePeriod &that) const
Compare this TimePeriod with another TimePeriod and return (<0, 0, >0) according to (a<b...
TimePeriod(uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1)
Constructor.
uint8_t hour() const
Return the hour.
uint8_t minute() const
Return the minute.
Represents a period of time relative to some known point in time, potentially represented by a DateTi...
void hour(uint8_t hour)
Set the hour.
void minute(uint8_t minute)
Set the minute.
void incrementHour(uint8_t limit)
Increment the hour by one, modulo 'limit'.
void incrementMinute()
Increment the minute by one, modulo 60.
friend bool operator==(const TimePeriod &a, const TimePeriod &b)
Return true if two TimePeriod objects are equal.
void sign(int8_t sign)
Set the sign bit.
uint8_t second() const
Return the second.
void printTo(Print &printer) const
Print to given printer.
void incrementHour()
Increment the hour component by one, modulo 24.
void negate()
Change the sign of the object.
TimePeriod(int32_t seconds=0)
Constructor from number of seconds.
int32_t toSeconds() const
Convert to number of seconds.
void second(uint8_t second)
Set the second.