Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В каком формате может храниться дата?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
toweroff
Есть прибор, у прибора есть EEPROM, в которой хранятся настройки и информация об устройстве.
Место хранения даты найдено, но никак не пойму, в каком формате это дело хранится. Занимает 4 байта, подумал, что это Unix TimeStamp, нашел на просторах функцию, приврдящую к TDateTime
вот ее код:
Код
TDateTime UnixToDateTime(long int USec)
{
  TDateTime dt((USec / 86400) + 25569.0);
  return  dt;
}

но она дату дает неверную (первый пример получается как 06.01.1974)

возможно также, что там не только дата, но и время упаковано

в общем вот пара примеров:
07.05.13 -- 0D 53 8D 07
17.06.14 -- 0E 68 88 11

нет никаких мыслей, в каком формате это дело?
числа вполне себе обычно хранятся, 32-битные с big-endian
sherr
Цитата(toweroff @ Jul 10 2015, 19:52) *
возможно также, что там не только дата, но и время упаковано

в общем вот пара примеров:
07.05.13 -- 0D 53 8D 07
17.06.14 -- 0E 68 88 11

нет никаких мыслей, в каком формате это дело?
числа вполне себе обычно хранятся, 32-битные с big-endian

Ну с ходу - 0D == 13; 0E == 14 - год уже нашли,
следующий полубайт вполне соответствует месяцу (их в нашем календаре 12, так что не переполнится)
Следующие пять бит - это день месяца(проверьте), что дальше - не знаю, данных маловато ...

Итак YYYY YYYY MMMM DDDD Dxxx xxxx xxxx xxxx .
Дальше сами справитесь ?
toweroff
Хмм
очень похоже. Спасибо
Jenya7
У нас в приборе хранился Date Code.
Причем код производственный отдел присваивал от балды (как мне кажется). Например AA = 2010, AB = 2011, недели тоже шифровались подобным образом. Насколько я знаю очень часто дата выпуска шифруется кодами - год, номер недели и.т.д
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.