ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
385723 Топик полностью
vesago (06.02.2013 20:42 - 20:47, просмотров: 61) ответил Гудвин на Никто не поделится функциями вычисления даты и времени из unix time (int32) для "Цэ"? Не монстрообразными, чтобы зарядить в мелкоконтроллер, с учетом високосных годов и пр...
1234  //:::::::::::::::::::::::::::::::::::::::::::::::::::::: //convert long seconds to Date and Time //:::::::::::::::::::::::::::::::::::::::::::::::::::::: void Long_To_Data_Time(u32_t j, datatime_t *pdt) { u32_t d,m,y; u32_t dat,t; dat = j/86400l; t = j - (dat * 86400l); dat += 731000; y = (4 * dat - 1) / 146097l; d = (4 * dat - 1 - 146097l * y) / 4l; dat = (4 * d + 3) / 1461; d = (4 * d + 7 - 1461 * dat) / 4l; m = (5 * d - 3) / 153; d = (5 * d + 2 - 153 * m) / 5l; y = 100 * y + dat; if (m < 10) { m += 3; } else { m -= 9; y++; } pdt->month = m; pdt->year = y; pdt->day = d; pdt->sec = t % 60l; t /= 60l; pdt->hour = t / 60l; pdt->minute = t % 60l; } Хотя это наверное не то. У меня начальная дата смещена в 2000-е.