EDIT: Alnitak is correct about this being a fixed-point binary date representation. However, the principles may be similar to what is described below; instead of a decimal place the format is fixed and the lower 15-bits are most likely the time. If you have any examples, post them and we will try to help.
ORIGINAL: This is most likely the Windows OLE/COM date format which uses a Double to represent a date and time. The integer portion of the number is for the date and the fraction is for the time. It can represent dates between January 1, 100, and December 31, 9999. You can find more information at MSDN or google for OLE date COM double.
EDIT: Here is one C# example using DateTime.FromOADate. Here is a little more detail from MSDN VariantTimeToSystemTime.
A variant time is stored as an 8-byte real value (double), representing a date between January 1, 1753 and December 31, 2078, inclusive.
The value 2.0 represents January 1, 1900; 3.0 represents January 2, 1900, and so on.
Adding 1 to the value increments the date by a day. The fractional part of the value represents the time of day. Therefore, 2.5 represents noon on January 1, 1900; 3.25 represents 6:00 A.M. on January 2, 1900, and so on.
Negative numbers represent the dates prior to December 30, 1899.
This is a little conflicting as the COleDateTime documentation says it supports January 1, 100, while this documentation says it supports January 1, 1753.
There are interfaces for VB (use CDbl() and CDate()), C# (DateTime.FromOADate/ToOADate), Java (OLEDate - looks deprecated though), Delphi, Python, etc.