OADate 与时间分开

OADate separated from time

一个旧的 C++ 应用程序将日期和时间分开。该应用程序将记录显示为具有 Date/Time,如下所示:

10/21/2015       15:17:22

但是数据是这样存储的:

13078(+29220)    3857

我知道我们的 OADate 有一个偏移量 29220。所以 13078 + 29220 = 42298,这是 10/21/2015 的 OADate。但我不知道 3857 应该如何等于 15:17:22

实际字段为:

int _dateValue;
struct time _timeValue;

另一个例子:

10/02/2015       08:40:50
13059 (+29220)   2088

我相信时间最初是从 c struct time 函数中获取的 gettime 该结构具有提取小时、分钟和秒的函数。但我只有基值,我正在使用 C# 和 SQL 将该基值转换为时间。

3857 是 0xF11。巧合的是 0xF == 15 和 0x11 == 17.

2088 是 0x828。巧合的是 0x8 == 8 和 0x28 == 40.

貌似时间高字节代表小时,低字节代表分钟,秒被扔进了位桶。