63 #ifndef DST_START_MONTH
64 #define DST_START_MONTH MARCH
68 #define DST_END_MONTH NOVEMBER
71 #ifndef DST_START_WEEK
72 #define DST_START_WEEK 2
76 #define DST_END_WEEK 1
82 uint8_t month, week, hour, day_of_week, d;
89 day_of_week = tmptr.tm_wday;
93 if ((month > DST_START_MONTH) && (month < DST_END_MONTH))
96 if (month < DST_START_MONTH)
98 if (month > DST_END_MONTH)
101 if (month == DST_START_MONTH) {
103 if (week < DST_START_WEEK)
105 if (week > DST_START_WEEK)
108 if (day_of_week > SUNDAY)
114 if (week > DST_END_WEEK)
116 if (week < DST_END_WEEK)
118 if (day_of_week > SUNDAY)
uint8_t week_of_month(const struct tm *timeptr, uint8_t start)
Definition: week_of_month.c:42
signed long int int32_t
Definition: stdint.h:98
unsigned char uint8_t
Definition: stdint.h:83
#define ONE_HOUR
Definition: time.h:404
uint32_t time_t
Definition: time.h:116
void gmtime_r(const time_t *timer, struct tm *timeptr)
Definition: gmtime_r.c:38