0 / 0 / 0
Регистрация: 10.05.2012
Сообщений: 91

Перевод времени в формат UNIXTIME и обратно

26.07.2013, 20:02. Показов 11024. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Есть ли у кого пример алгоритма или описания функций перевода даты (год, месяц....минута, секунда) в формат UNIXTIME и обратно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.07.2013, 20:02
Ответы с готовыми решениями:

Перевод метки времени в Long unixtime
Всем доброго! Существует ли простая возможность перевести время из: 2019-12-03T11:47:36+03:00 в обычное Long число unixtime ??? ...

Конвертация времени в американский формат и обратно
есть задача: создать класс Time, в котором реализованы операции сложения, вычитания, сравнения, введения и выведения на екран. Возможность...

Перевод формата времени из am/pm в 24 формат
ФОРМАТ ВВОДА: Целое число A — который сейчас час после полудня у героев диалога, A >= 1, A < 12 Целое число B — сколько сейчас...

8
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 67
16.08.2013, 20:58
Моя библиотека для работы с RTC на STM32. Там есть необходимые тебе функции:

Code Скопировано
1
2
void         rtc_decode(uint32_t value, _type_datetime * dt);      //преобразовать секунды (RTC_Tick) в дату и время
uint32_t   rtc_code(_type_datetime *dt);                               //преобразовать дату и время в секунды (RTC_Tick)
dt - это структура:
Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
/структура хранения даты и времени
typedef struct
{
uint16_t year;          //год     (xxxx)
uint8_t month;          //месяц   (1-12)
uint8_t day;            //день    (1-31)
uint8_t hour;           //часы    (0-23)
uint8_t min;            //минуты  (0-59)
uint8_t sec;            //секунды (0-59)
uint8_t dow;            //день недели 0 = воскресенье, 1 = понедельник, .... 6 = суббота.
} _type_datetime;
[3.3 Кб]
0
1 / 1 / 0
Регистрация: 03.02.2016
Сообщений: 46
28.12.2016, 14:38
Цитата Сообщение от MioMoki
Моя библиотека для работы с RTC на STM32. Там есть необходимые тебе функции:
Нужно было быстро перевести дату и время в UmyxTime, воспользовался выложенной библиотекой - все получилось.
Автору спасибо!

З.Ы. Прошу прощения за некропостинг.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
28.12.2016, 15:43
Я извиняюсь, но что-то не увидел в примере файлика tzdata. Без него вычисленный UNIX time будет отличаться от реального на несколько секунд!
0
1 / 1 / 0
Регистрация: 03.02.2016
Сообщений: 46
29.12.2016, 03:11
Цитата Сообщение от Iddy_Im
Я извиняюсь, но что-то не увидел в примере файлика tzdata. Без него вычисленный UNIX time будет отличаться от реального на несколько секунд!
А для чего он нужен?
0
0 / 0 / 0
Регистрация: 26.01.2009
Сообщений: 3
29.12.2016, 04:02
tzdata - информация о часовых поясах. Без него или время указывать UTC или вручную добавлять смещение.

И нет, ошибки на несколько секунд не будет - UNIX-время не учитывает високосные секунды.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
29.12.2016, 09:32
Цитата Сообщение от div
UNIX-время не учитывает високосные секунды.
Черт! И действительно! А я-то, ниивный, свято верил, что разница двух UNIX Time даст временнoй промежуток между событиями (юлианская дата для этого не годится, т.к. тоже високосные секунды не учитывает)!
Это ж как теперь разницу во времени-то считать?
0
0 / 0 / 0
Регистрация: 26.01.2009
Сообщений: 3
31.12.2016, 22:52
Время - слишком сложная и нелинейная штука, что бы придумать одно универсальное решение для всех проблем. Достаточно посмотреть, что там навертели с UT0, UT1 и компанией. И ведь не от того, что у придумавших это ума не хватило - просто вопрос действительно сложный.

Для себя делаю так. Если надо точно отмерять небольшие промежутки - то считаю время от старта. Для МК - свой 32-битные счетчик секунд, для Линукса - clock_gettime(CLOCK_MONOTONIC, ).

Если надо считать время на больших интервалах - то UTC и забиваю на високосные секунды.

Другие случаи мне не попадались. Если попадутся, то придется что-нибудь придумывать по ситуации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.12.2016, 22:52
Помогаю со студенческими работами здесь

JAVA + freemarker формат Unixtime в дату
Доброго времени суток. В общем получаю дату в формате Unixtime. Как в freemarker перевести в дату. Буду очень признателен за любую...

Перевод количества секунд в нормальный формат времени
Проблема такая: есть количество секунд, например, 6000 сек, а надо получить время в формате дд:чч:мм:сс. Помню, что где-то попадалась такая...

Перевод из 24-часового формата в 12-часовой формат времени
Многие предпочитают 24-часовой формат времени, но много где в мире вы столкнетесь с тем, что люди используют 12-часовой формат времени. ...

Перевод времени из unix timestamp в формат даты (д/м/г)
Есть некоторое зашифрованное число, к примеру, 1804370930, оно содержит дату(день,месяц, год). Как с использованием С++ перевести это число...

Цикл по числу файлов. Перевод времени из DD.MM.YYYY hh:mm:ss в числовой формат
Добрый вечер всем! Вопрос по названию темы собственно. Есть масса файлов c заголовками вида valX20160802_163447.txt, заголовки я у них, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
BASH scripting - the best cases [PurpleSchool]
jigi33 08.04.2025
Занятия BASH в PurpleSchool - отличные примеры для внедрения в практику (see screenshots and file names)
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер