| 
    LocalTimeRK
    
   | 
 
Handles the time change part of the Posix timezone string like "M3.2.0/2:00:00". More...
#include <LocalTimeRK.h>
Public Member Functions | |
| LocalTimeChange () | |
| Default contructor.  | |
| virtual | ~LocalTimeChange () | 
| Destructor.  | |
| LocalTimeChange (const char *str) | |
| Constructs a time change object with a string format (calls parse())  More... | |
| void | clear () | 
| Clears all values.  | |
| void | parse (const char *str) | 
| Parses a time change string.  More... | |
| String | toString () const | 
| Turns the parsed data into a normalized string like "M3.2.0/2:00:00".  | |
| time_t | calculate (struct tm *pTimeInfo, LocalTimeHMS tzAdjust) const | 
| Calculate the time change in a given year.  More... | |
Data Fields | |
| int8_t | month = 0 | 
| 1-12, 1=January  | |
| int8_t | week = 0 | 
| 1-5, 1=first  | |
| int8_t | dayOfWeek = 0 | 
| 0-6, 0=Sunday, 1=Monday, ...  | |
| int8_t | valid = 0 | 
| true = valid  | |
| LocalTimeHMS | hms | 
| Local time when timezone change occurs.  | |
Handles the time change part of the Posix timezone string like "M3.2.0/2:00:00".
Other formats with shortened time of day are also allowed like "M3.2.0/2" or even "M3.2.0" (midnight) are also allowed. Since the hour is local time, it can also be negative "M3.2.0/-1".
| LocalTimeChange::LocalTimeChange | ( | const char * | str | ) | 
Constructs a time change object with a string format (calls parse())
| str | the time change string to parse | 
The time change string is part of the POSIX timezone specification and looks something like "M3.2.0/2:00:00".
| time_t LocalTimeChange::calculate | ( | struct tm * | pTimeInfo, | 
| LocalTimeHMS | tzAdjust | ||
| ) | const | 
Calculate the time change in a given year.
On input, pTimeInfo must have a valid tm_year (121 = 2021) set.
On output, all struct tm values are set appropriately with UTC values of when the time change occurs.
| void LocalTimeChange::parse | ( | const char * | str | ) | 
Parses a time change string.
| str | the time change string to parse | 
The time change string is part of the POSIX timezone specification and looks something like "M3.2.0/2:00:00".
Setting the week to 5 essentially means the last week of the month. If the month does not have a fifth week for that day of the week, then the fourth is used instead.