as.POSIXlt("2015-12-10",format = "%Y-%m-%d")-as.POSIXlt("2015-10-07",format = "%Y-%m-%d")
64.04167
as.Date("2015-12-10",format = "%Y-%m-%d")-as.Date("2015-10-07",format = "%Y-%m-%d")
退货 64 (正确值)
64
为什么会有不同的行为?
这些小数正好相当于一个小时,发生在从DST转换的过程中。
0.04167 * 24 #[1] 1.00008 #some rounding error
指定一个没有DST的时区,您将得到:
as.POSIXlt("2015-12-10",format = "%Y-%m-%d", tz = "GMT")- as.POSIXlt("2015-10-07",format = "%Y-%m-%d", tz = "GMT") #Time difference of 64 days