日期的原型是浮点数没错
参照时间是1900-1-1 00:00:00
小数点前面是天数,你大约算一下就知道了
小数点后面就是时间,把小数点单独提取出来,×60的整数就是小时,再×60就可得到分钟
类推,你就可以得到其它的了
呵呵,就是下面这样的对应关系了。这中计算方式的好处在于,直接对两个时刻进行算术加减,就可以得到它们的时差(整数部分是天数,小数部分是时分秒)。需要注意的是,浮点数表示时刻,负号只针对整数部分,而小数部分表示的时分秒一定是自对应的日期向后而不是向前的。例如,-1表示1899-12-29 00:00:00,而-1.5表示的是-1对应的日期和0.5对应的时分秒12:00:00。因此,-1.5表示的时刻比-1晚了12小时(0.5天),这与数学中的大小概念是有区别的。当浮点数大于0时,绝对值大的数表示的时间一定晚。
-1 = 1899-12-29 00:00:00
-1.25 = 1899-12-29 06:00:00
-1.5 = 1899-12-29 12:00:00
-1.75 = 1899-12-29 18:00:00
0 = 1899-12-30 00:00:00
0.25 = 1899-12-30 06:00:00
0.5 = 1899-12-30 12:00:00
0.75 = 1899-12-30 18:00:00
1 = 1899-12-31 00:00:00
1.75 = 1899-12-31 18:00:00
2 = 1900-01-01 00:00:00
37702 = 2003-03-22 00:00:00
37703 = 2003-03-23 00:00:00
37703.25 = 2003-03-23 06:00:00
......
参照时间是1900-1-1 00:00:00
小数点前面是天数,你大约算一下就知道了
小数点后面就是时间,把小数点单独提取出来,×60的整数就是小时,再×60就可得到分钟
类推,你就可以得到其它的了
呵呵,就是下面这样的对应关系了。这中计算方式的好处在于,直接对两个时刻进行算术加减,就可以得到它们的时差(整数部分是天数,小数部分是时分秒)。需要注意的是,浮点数表示时刻,负号只针对整数部分,而小数部分表示的时分秒一定是自对应的日期向后而不是向前的。例如,-1表示1899-12-29 00:00:00,而-1.5表示的是-1对应的日期和0.5对应的时分秒12:00:00。因此,-1.5表示的时刻比-1晚了12小时(0.5天),这与数学中的大小概念是有区别的。当浮点数大于0时,绝对值大的数表示的时间一定晚。
-1 = 1899-12-29 00:00:00
-1.25 = 1899-12-29 06:00:00
-1.5 = 1899-12-29 12:00:00
-1.75 = 1899-12-29 18:00:00
0 = 1899-12-30 00:00:00
0.25 = 1899-12-30 06:00:00
0.5 = 1899-12-30 12:00:00
0.75 = 1899-12-30 18:00:00
1 = 1899-12-31 00:00:00
1.75 = 1899-12-31 18:00:00
2 = 1900-01-01 00:00:00
37702 = 2003-03-22 00:00:00
37703 = 2003-03-23 00:00:00
37703.25 = 2003-03-23 06:00:00
......