В общем такая ситуация, есть ntp сервер который возвращает unix time для его нормального преобразования использую либу time.h и ее конструкцию tm_ и со временем все отлично оно верное (там не используется tm_ конструкция), но вот с датой твориться вообще черти что, да unix time точно правильный Вот часть кода unsigned long epochTime = timeClient.getEpochTime(); struct tm *ptm; ptm = localtime((time_t *)&epochTime); int monthDay = ptm->tm_mday; Serial.print("Month day: "); Serial.println(monthDay); int currentMonth = ptm->tm_mon+1; Serial.print("Month: "); Serial.println(currentMonth); int currentYear = ptm->tm_year+1900; Serial.print("Year: "); Serial.println(currentYear); C unsigned long epochTime = timeClient.getEpochTime(); struct tm *ptm; ptm = localtime((time_t *)&epochTime); int monthDay = ptm->tm_mday; Serial.print("Month day: "); Serial.println(monthDay); int currentMonth = ptm->tm_mon+1; Serial.print("Month: "); Serial.println(currentMonth); int currentYear = ptm->tm_year+1900; Serial.print("Year: "); Serial.println(currentYear); И вот что я получаю в ответе 01:49:40.213 -> Month: 8 01:49:40.213 -> Year: 3166534 01:49:40.213 -> Epoch Time: 1730512179 01:49:51.067 -> Month day: 14 01:49:51.067 -> Month: 10 01:49:51.067 -> Year: 4642425 01:49:51.067 -> Epoch Time: 1730512190 01:50:01.923 -> Month day: 20 01:50:01.923 -> Month: 6 01:50:01.923 -> Year: -5640088 01:50:01.923 -> Epoch Time: 1730512201 Код 01:49:40.213 -> Month: 8 01:49:40.213 -> Year: 3166534 01:49:40.213 -> Epoch Time: 1730512179 01:49:51.067 -> Month day: 14 01:49:51.067 -> Month: 10 01:49:51.067 -> Year: 4642425 01:49:51.067 -> Epoch Time: 1730512190 01:50:01.923 -> Month day: 20 01:50:01.923 -> Month: 6 01:50:01.923 -> Year: -5640088 01:50:01.923 -> Epoch Time: 1730512201 Это даже нельзя списать на какое то смещение там, это просто какие то рандомные абсолютно значения, я даже не понимаю что происходит