Разбор 8 байтов для получения даты и времени

Разбор 8 байтов для получения даты и времени
Разбор 8 байтов для получения даты и времени - greenmarketing @ Unsplash

Это "дата COM" или "дата OLE Automation", которая является достаточно распространенным форматом в Windows. Она определяется как число с плавающей точкой двойной точности, значением которого является количество дней (включая дробные дни) с полуночи 30 декабря 1899 года. Я проверил это с помощью следующего кода на C#:

byte[] bytes = new byte[] { 0x5B, 0xB0, 0x05, 0x5B, 0xA9, 0xD9, 0xE1, 0x40 };
long asInt64 = BitConverter.ToInt64(bytes, 0);
double tr = BitConverter.Int64BitsToDouble(asInt64);
DateTime dt = DateTime.FromOADate(tr);

Код C++ для работы с этим типом даты встроен в Windows. Я не знаю, что можно использовать на других платформах.

Прикрепляю к посту несколько видео по теме:

Прикрепленное видео 1 - MQL5 программирование: Дата и Время (datetime)

Прикрепленное видео 2 - Разбор книги "Java core". API даты и времени

Прикрепленное видео 3 - СЮЖЕТ 8 ЧАСТЬ JOJO "JOJOLION"


LetsCodeIt, 17 января 2023 г., 16:16