Utils_Get_Epoch(Utils_tm_t *tm)
{
uint32_t epoch = 0;
const int mon_days[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};
uint16_t tyears, i, leaps;
uint32_t tdays, thours;
tyears = tm->tm_year - 70;
leaps = (tyears + 2) / 4;
i = (tm->tm_year - 100) / 100;
leaps -= ((i/4) * 3 + i%4);
tdays = mon_days[tm->tm_mon];
tdays += tm->tm_mday - 1;
tdays = tdays + tyears * 365 + leaps;
thours = tm->tm_hour;
epoch = (tdays * 86400) + (thours * 3600) + (tm->tm_min * 60) + tm->tm_sec;
return epoch;
}
получается, что возвращаемое значение всегда на 1 день опережает текущую дату, кто-нибудь может мне помочь с этим?