EDIT: Alnitak является правильным в этом представлении двоичной даты с фиксированной точкой. Однако принципы могут быть похожими на то, что описано ниже; вместо десятичного формата формат фиксирован, а более низкие 15 бит - это, скорее всего, время. Если у вас есть примеры, отправьте их, и мы постараемся помочь.
ОРИГИНАЛ: Это, скорее всего, формат даты OLE/COM Windows, который использует Double для представления даты и времени. Целочисленная часть числа относится к дате, а дробь - для времени. Он может представлять даты с 1 января по 100 декабря и 31 декабря 9999 года. Дополнительную информацию можно найти по адресу MSDN или google для OLE date COM double.
EDIT: Код: C# example Использование DateTime.FromOADate. Вот несколько деталей от MSDN VariantTimeToSystemTime.
Вариант времени хранится в виде 8-байтовой реальной стоимости (двойной), представляющей дату с 1 января 1753 года по 31 декабря 2078 года включительно.
Значение 2.0 представляет 1 января 1900 года; 3.0 - 2 января 1900 года и т. Д.
Добавление 1 к значению увеличивает дату на день. Дробная часть значения представляет собой время суток. Поэтому 2.5 представляет собой полдень 1 января 1900 года; 3.25 представляет 6:00 A.M. 2 января 1900 года и т. д.
Отрицательные числа представляют даты до 30 декабря 1899.
Это немного противоречивыми, поскольку документация COleDateTime говорит, что поддерживает 1 января, 100, в то время как эта документация говорит, что поддерживает 1 января 1753.
Есть интерфейсы для VB (используйте CDbl() и CDate()), C# (DateTime.FromOADate/ToOADate), Java (OLEDate - выглядит устаревшим, хотя), Delphi, Python и т.д.
Пожалуйста, добавьте шестнадцатеричные значения, они могут быть проще проанализировать. – schnaader 2008-11-10 11:33:58
Есть ли у вас какой-либо контекст, на котором вы столкнулись? – Roel 2008-11-10 12:04:47