roboforum.ru

Технический форум по робототехнике.

UNIX Timestamp -> date_t

UNIX Timestamp -> date_t

Vooon » 13 окт 2007, 19:32

сейчас разбираюсь с асинхронным таймером,
хочу сделать на его основе часы, а время хранить в формате
UNIX Timestamp (unsigned long int)
т.е. в количестве секунд прошедших с 1ого января 1970ого года

нужно както раскладывать это значение в следующую структуру:
Код: Выделить всёРазвернуть
typedef struct {
    
unsigned int year;
    
unsigned char month;
    
unsigned char day;
    
unsigned char hour;
    
unsigned char min;
    
unsigned char sec;
date_t

чтоб было удобнее использовать.
в библиотеке avr-gcc ф-ций работы со временем я не нашел(или плохо искал?)

у самого покачто не получается придумать алгоритм :oops:

Re: UNIX Timestamp -> date_t

Master » 14 окт 2007, 19:19

Если я правильно понял, то алгоритм очень похож на тот который используется для вывода времени на семисегментные индикаторы. Т. е., например, нужно вывести на 2-х сегментный индикатор число 23, т. е. на 1-й индикатор нужно вывести десятки на второй единицы.
1-й индикатор 23 div(целочисленное деление) 10 = 2
2-й индикатор 23 - (23 div 10) = 3
Т. е. если у тебя число 31536022, то чтобы узнать скока здесь лет делим его на 31536000 (стока секунд в году).
Остаток делим на кол-во секнд в месяце, остаток остатка на кол-во секунд в сутках и т. д.

Re: UNIX Timestamp -> date_t

Vooon » 14 окт 2007, 19:24

спасибо, подумаю...

надо будет всетаки найти как это реализовано в стандартном си <time.h>

Re: UNIX Timestamp -> date_t

Digit » 14 окт 2007, 23:30

Деление - затратная операция вроде... 8)

Re: UNIX Timestamp -> date_t

Виталий » 15 окт 2007, 01:09

Забавляет право слово.... вроде народ делает роботов, иногда даже разговаривает про ИИ.
Интересно когда будет решена эта "сверхзадача".

Re: UNIX Timestamp -> date_t

Vooon » 15 окт 2007, 01:20

да решил уже, просто когда сразу решение не находится, поиск тоже не выдает что-либо интересное
то пишу в форум, и как правило, потом сам и решаю проблему.

мне даже интересно, как ни напишу - молчек,
и вод действительно интересно, кто обсуждает ИИ и т.п. тоже молчек

но вы нарушили правила форума, офтоп.

Re: UNIX Timestamp -> date_t

Digit » 15 окт 2007, 01:41

Ну так результат-то тогда сюда выложить надо... :wink:

Re: UNIX Timestamp -> date_t

Vooon » 15 окт 2007, 01:44

я сейчас эксперементирую с когом над кодом, отладить нужно.


Rambler\'s Top100 Mail.ru counter