ищу как преобразовать дату из Hex XXXX в Dec dd.mm.yyyy
- Войдите на сайт для отправки комментариев
Чт, 20/08/2015 - 11:28
Ищу как преобразовать дату из Hex XXXX в Dec dd.mm.yyyy например hex 4714 это 20.08.2015
может кто встречал такой scetch или пример или кусок из scetch?
А как дата преобразовалась в Нех?
дата в hex никак не преобразовалась, она просто считывается из eeprom в виде XXXX, а пример привел из онлайн переводчика в интернете.
Вы хотите получить помощь или в загадки поиграть? Какой нахрен гугле переводчик? Кто и как пихал дату в епром? Кто и как её оттуда читает? Можно посмотреть на скетч, который её считывает и увидеть, что он выдаёт?
я считал по определенному адресу из eeprom данные, они имеют вид в 16 ричном виде значение xxxx , в этом значении зашифрована дата, нужно преобразовать из 16 ричного то бишь hex к привычному виду, dd.mm.yyyy и привел пример конкретный что пусть это будет 4714 в hex а в привычном виде это сегодняшняя дата 20.08.2015
Кому совсем непонятно, есть 16 ричное число 4714, нужно написать функцию и получить из него дату в привычном виде день, месяц, год
если хочется днамики, то например в окне терминала arduino отправляете 16 ричное число xxxx и в основном окне получаете дата =dd.mm.yyyy
Вопрос всего лишь в том, почему это вдруг 0x4714 стало соответствовать текущей дате? Кто это придумал и почему именно 0x4714 - это сегодняшнее число, а, например, не 0x5618?
Одна из самых распространенных теорий упаковки даты : Слева направо первые пять бит - дата, дальше четыре бита месяц, остальные смещение года, от какого то стартового года (что бы получить текцщий год нужно смещение сложить со стартовым).
я считал по определенному адресу из eeprom данные, они имеют вид в 16 ричном виде значение xxxx , в этом значении зашифрована дата, нужно преобразовать из 16 ричного то бишь hex к привычному виду, dd.mm.yyyy и привел пример конкретный что пусть это будет 4714 в hex а в привычном виде это сегодняшняя дата 20.08.2015
Кому совсем непонятно, есть 16 ричное число 4714, нужно написать функцию и получить из него дату в привычном виде день, месяц, год
если хочется днамики, то например в окне терминала arduino отправляете 16 ричное число xxxx и в основном окне получаете дата =dd.mm.yyyy
Держите. конечно, но так вопросы не задают. Пришлось гадать на кофейной гуще.
union { struct ShortDate { unsigned short day : 5; unsigned short month: 4; unsigned short year: 7; } db; unsigned dt; } TestDate; TestDate.dt = 0x4714; char szBuffer[11]; sprintf(szBuffer,"%02d.%02d.%4d", TestDate.db.day, TestDate.db.month, TestDate.db.year + 1980); Serial.println(szBuffer);Должно вывестись 20.08.2015
Ардуины сейчас под рукой нет, но на обычном компьютере всё нормально выводится.
Держите. конечно, но так вопросы не задают. Пришлось гадать на кофейной гуще.
union { struct ShortDate { unsigned short day : 5; unsigned short month: 4; unsigned short year: 7; } db; unsigned dt; } TestDate; TestDate.dt = 0x4714; char szBuffer[11]; sprintf(szBuffer,"%02d.%02d.%4d", TestDate.db.day, TestDate.db.month, TestDate.db.year + 1980); Serial.println(szBuffer);Должно вывестись 20.08.2015
Ардуины сейчас под рукой нет, но на обычном компьютере всё нормально выводится.
Опробовал скетч - всё работает.
Аллилуйя!