OADate与时间分开

时间:2017-12-04 19:42:51

标签: c++ datetime data-conversion

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

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将该基值转换为时间。

1 个答案:

答案 0 :(得分:1)

3857是0xF11。重合符号0xF == 15和0x11 == 17。

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

看起来时间的高字节表示小时数,低字节表示分钟数,秒数则在位桶中抛出。