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.
貌似时间高字节代表小时,低字节代表分钟,秒被扔进了位桶。
一个旧的 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.
貌似时间高字节代表小时,低字节代表分钟,秒被扔进了位桶。