as.difftime R 中的 NA 差异

NA difference in as.difftime R

它看起来好像是 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

我试图将 formatunits='secs' 一起指定,但我得到的错误是未使用参数 time2

谁能给我提示我哪里出错了? (提前抱歉,但我什至不确定它是否可以重现。)

我们可以把times转成POSIXct格式再减去

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]) 

我也遇到了这个问题,我又把日期时间class赋值给对象,然后就可以了。

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

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

但是这个'Time difference of NA secs'发生了,所以我只是这样做:

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

然后它工作正常:

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

希望对您有所帮助。