Цитата(-=Sergei=- @ Jul 8 2010, 17:43)

Есть счетчик с секундами, как из них вычислить время и дату исходя из того что нулевое значение например 1 января 1980 года ?
Код
//
// Переводит кол-во секунд с 00:00:00 1-го января 2000 года
// в день, месяц, год
//
u_int32 ToGregorData(u_int32 SecondQn)
{
u_int32 d = SecondQn / 86400 + 2451544;
u_int32 Z = d+1;
u_int32 A = Z;
if( Z >= 2299161 )
{
u_int32 Alpha = ((Z*4-7468865) / 146097);
A = Z + 1 + Alpha - Alpha/4;
}
{
u_int32 B = A + 1524;
u_int32 C = (B*40 - 4884) / 14610;
u_int32 D = (1461 * C)/4;
u_int32 E = ((B - D)*10000/306001);
u_int32 Day = B - D - (306001 * E)/10000;
u_int32 Month = E - 13;
u_int32 Year = C - 4715;
if( E < 14 )
Month = E - 1;
if( Month > 2 )
Year = C - 4716;
return (Day%100)*10000+(Month%100)*100+Year%100;
}
}
Ну, а со временем суток, я думаю, сами справитесь...