smart_alarm/dateutils.cpp

33 lines
1017 B
C++

#include "dateutils.h"
#include "pico/types.h"
datetime_compare_res compare_datetime(const datetime_t *dt1, const datetime_t *dt2) {
// Compare year first
if (dt1->year > dt2->year) return BIGGER_THAN;
if (dt1->year < dt2->year) return SMALLER_THAN;
// Years are equal, compare month
if (dt1->month > dt2->month) return BIGGER_THAN;
if (dt1->month < dt2->month) return SMALLER_THAN;
// Months are equal, compare day
if (dt1->day > dt2->day) return BIGGER_THAN;
if (dt1->day < dt2->day) return SMALLER_THAN;
// Days are equal, compare hour
if (dt1->hour > dt2->hour) return BIGGER_THAN;
if (dt1->hour < dt2->hour) return SMALLER_THAN;
// Hours are equal, compare minute
if (dt1->min > dt2->min) return BIGGER_THAN;
if (dt1->min < dt2->min) return SMALLER_THAN;
// Minutes are equal, compare second
if (dt1->sec > dt2->sec) return BIGGER_THAN;
if (dt1->sec < dt2->sec) return SMALLER_THAN;
// All fields are equal
return EQUALS;
}