реклама на сайте
подробности

 
 
> Электронный календарь, как вычислять время, дату от RTC счетчика ?
-=Sergei=-
сообщение Jul 8 2010, 11:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 26-10-04
Пользователь №: 985



Есть счетчик с секундами, как из них вычислить время и дату исходя из того что нулевое значение например 1 января 1980 года ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shamil
сообщение Jul 8 2010, 12:22
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 160
Регистрация: 23-12-04
Из: Уфа
Пользователь №: 1 631



Цитата(-=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;
    }
}


Ну, а со временем суток, я думаю, сами справитесь...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 01:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01337 секунд с 7
ELECTRONIX ©2004-2016