【问题标题】:Time difference giving error时差给出错误
【发布时间】:2015-10-09 10:48:15
【问题描述】:

我有两个相同日期的时间“2015/09/12 00:02:18”和“2015/09/12 23:59:39”。

如何计算这两个时间范围之间的差异?

【问题讨论】:

  • 女巫语言你会用php吗? javascript ?
  • 不不..这是在R中

标签: r


【解决方案1】:

您可以尝试将字符串转换为POSIXct,然后简单地计算差异:

t1 <- "2015/09/12 00:02:18"
t2 <- "2015/09/12 23:59:39"
> as.POSIXct(t2) - as.POSIXct(t1)
#Time difference of 23.95583 hours

您也可以使用difftime(),一个用于计算时差的函数:

> difftime(t2, t1)
#Time difference of 23.95583 hours

如果您不想在输出中包含文本,可以使用以小时为单位的时差

> unclass(difftime(t2, t1, units="hours"))[1]
#[1] 23.95583

【讨论】:

  • 谢谢,确实如此。但是请检查时间是“2015/09/12 00:02:18”,即晚上 12AM 和“2015/09/12 23:59:39”,即晚上 11:59.. 但不同的是23.95 小时.. 对吗??我认为这是我们得到的错误值..应该是几分钟..对吗??
  • 是同一天,不是吗……?结果在我看来是正确的。
  • 23.95583 小时不是正确答案...应该是 3 分 21 秒。
  • @BibhutiBhusanSahoo 你错了,这正确答案。同样,小时指的是同一天。如果我们将一天的 00:02:18 与 前一天的 23:59:39 进行比较,那么差异将是 02 分 39 秒。但在 OP 中,日期是相同的,因此正确的时差略小于 24 小时。
  • 哦..我很抱歉..是的..谢谢老兄...有点愚蠢的错误...再次感谢...
猜你喜欢
  • 2019-07-04
  • 2018-03-05
  • 1970-01-01
  • 2017-04-08
  • 1970-01-01
  • 2021-03-10
  • 1970-01-01
  • 2016-06-28
  • 2021-10-27
相关资源
最近更新 更多