Date Types

WinHex & X-Ways

Date Types

 

The following date formats are supported by the Data Interpreter:

 

MS-DOS Date & Time (4 bytes)

 

The lower word determines the time, the upper word the date. Used by several DOS function calls and by all FAT file systems.

 

Bits                                Contents

0-4                                Second divided by 2

5-10                Minute (0-59)

11-15                Hour (0-23 on a 24-hour clock)

16-20                Day of the month (1-31)

21-24                Month (1 = January, 2 = February, etc.)

25-31                Year offset from 1980

 

Win32 FILETIME (8 bytes)

 

The FILETIME structure is a 64-bit integer value representing the number of 100-nanosecond intervals since January 1, 1601. Used by the Win32 API.

 

OLE 2.0 Date & Time (8 bytes)

 

A floating-point value (more exactly: a double) whose integral part determines the number of days passed since December 30, 1899. The fractional part is interpreted as the day time (e.g. 1/4 = 6:00 a.m.). This is the OLE 2.0 standard date type, e.g. it is used by MS Excel. ICQ 7.0 uses big-endian OLE 2.0 timestamps in chat messages

 

ANSI SQL Date & Time (8 bytes)

 

Two consecutive 32-bit integer values. The first one determines the number of days since November 17, 1858. The second one is the number of 100-microsecond intervals since midnight. This is the ANSI SQL standard and used in many databases (e.g. InterBase 6.0).

 

UNIX/C Date & Time (4 bytes)

 

A 32-bit integer value that determines the number of seconds since January 1, 1970. This data type is used in UNIX, DOS C and C++ ("time_t"), and by FORTRAN programs since the 80's. Sporadically defined as the number of minutes since  January 1, 1970. The Data Interpreter options let you switch between both sub-types.

 

Macintosh HFS+ Date & Time (4 bytes)

 

A 32-bit integer value that determines the number of seconds since January 1, 1904 GMT (HFS: local time). The maximum representable date is February 6, 2040 at 06:28:15 GMT. The date values do not account for leap seconds. They do include a leap day in every year that is evenly divisible by 4.

 

Java Date & Time (8 bytes)

 

A 64-bit integer value that specifies the number of milliseconds since January 1, 1970. Usually stored in big endian, which is the typical byte order in Java, but in little endian in BlackBerry memory.

 

Mac Absolute Time, a.k.a. Mac epoch time (4 bytes)

 

A 32-bit integer value that determines the number of seconds since January 1, 2001.