-1

看起来好像它是Find time difference in days with R的重复,但我想不是。

问题很简单。我有两个时间戳(format='%H:%M:%S'):

times <- c('02:51:43', '02:45:52')

我想计算时间差,但是我的尝试导致了不想要的行为:

as.difftime(times[1], times[2])
# Time difference of NA secs

我试图与format一起指定units='secs',但我收到time2未使用参数的错误。

有人可以提示我在哪里犯了错误吗?(提前抱歉,但我什至不确定它是否可重现。)

4

2 回答 2

1

我们可以转换timesPOSIXct格式,然后减去

x1 <- as.POSIXct(times, format = "%H:%M:%S", tz = "UTC")
x1[1] - x1[2]

#Time difference of 5.85 mins

这也相当于

difftime(x1[1], x1[2]) 
于 2017-12-19T01:43:06.967 回答
0

我也遇到了这个问题,我再次将日期时间类分配给该对象,然后它就起作用了。

假设我有 2 个日期时间对象:

day1<-as.Date('2018-12-31')
day2<-as.Date('2019-12-31')

但是这个“NA secs 的时间差”发生了,所以我只是这样做:

day1<-as.Date(day1)
day2<-as.Date(day2)

然后它工作正常:

difftime(day2,day1,units="days")
#Time difference of 365 days

希望这可以帮助。

于 2019-11-27T09:18:36.687 回答