R 中 difftime 的结果与 excel 和 timeanddate.com 不同

标签 r excel datetime timezone

t1 <- strptime("2015-02-17 12:20:00", format = "%Y-%m-%d %H:%M:%S", tz = "America/Chicago")
t2 <- strptime("2015-03-13 15:00:00", format = "%Y-%m-%d %H:%M:%S", tz = "America/Chicago")
as.numeric(abs(difftime(t1, t2, units = "mins", tz = "America/Chicago")))

以上返回 34,660,而 Excel 和 http://www.timeanddate.com/date/duration.html两者都返回 34,720。由于 2015 年 3 月 8 日实行夏令时,R 将 t1 识别为 CST,将 t2 识别为 CDT。我想确认 R 是正确的,而其他两个来源则不然。

最佳答案

取决于您是否要考虑本地夏令时,或者这些时间是否是与本地类次无关的两个时间点。 Excel 和该网站只是取这两个时间之间的精确差异,放弃夏令时 - 例如R 可以通过将时区更改为 UTC 来获得相同的结果。 ,不遵守夏令时:

difftime(as.POSIXct("2015-03-13 15:00:00",tz="UTC"),
         as.POSIXct("2015-02-17 12:20:00",tz="UTC"), units="mins")
# Time difference of 34720 mins

如果我坐在芝加哥,拿着秒表,数着酒吧里本地时钟显示 "2015-02-17 12:20:00" 之间的分钟差。然后点击"2015-03-13 15:00:00" ,我会少数 60 分钟,因为在我数数时,夏令时时钟向前拨快一小时。

关于R 中 difftime 的结果与 excel 和 timeanddate.com 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30315635/

相关文章:

r - 在 R 中打印、cat、粘贴,以换行符分隔

regex - 如何在 R 中分配变量?

excel - 如何删除基于 J 列 = 0 内发布的行?

r - 从 Excel 到 R 的日期,平台依赖性

Java 显示不正确的当前年份

java - 从 ResultSet java 中获取日期时间

r - 增加 ggplot 中的绘图区域以处理绘图边缘的 geom_text

excel - 汇总 Excel 电子表格中的可见(或过滤)范围

sql - SQL中的相对日期计算算法

javascript - 在 javascript 中制作 plotly 树状图