【问题标题】:Results with difftime in R different from excel and timeanddate.comR中difftime的结果与excel和timeanddate.com不同
【发布时间】:2015-07-30 16:35:46
【问题描述】:
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 是正确的,而其他两个来源不是。

【问题讨论】:

    标签: r excel datetime timezone


    【解决方案1】:

    取决于您是否要考虑当地夏令时,或者这些时间是否是与当地班次无关的两个时间点。 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 分钟在我数数的时候,夏时制需要一个小时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 1970-01-01
      • 2023-03-12
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      相关资源
      最近更新 更多