我有两个时间点,我想获得一个时间增量(注意,我的时间有毫秒)。我试过使用Chron软件包:
library(chron)
t1<- '2022/06/28 - 10:45:40:124'
t2<-'2022/06/28 - 10:54:50:193'
chron(t1, format='%Y/%m/%d - %H:%M:%S:%f')但我得到了以下错误:
Error in parse.format(format): unrecognized format %Y/%m/%d - %H:%M:%S:%f
Traceback:
1. chron("2022/06/28 - 10:45:40:124", format = "%Y/%m/%d - %H:%M:%S:%f")
2. convert.dates(dates., format = fmt, origin. = origin.)
3. parse.format(format)
4. stop(paste("unrecognized format", format))我的执行有什么问题?
谢谢你的回答。
发布于 2022-08-02 16:04:38
使用as.chron并修正格式。
fmt <- '%Y/%m/%d - %H:%M:%S:%OS'
t1c <- as.chron(t1, format = fmt)
t2c <- as.chron(t2, format = fmt)
# use any of these depending on what you want
t2c - t1c
difftime(t2c, t1c, units = "days")
difftime(t2c, t1c, units = "hours")
difftime(t2c, t1c, units = "mins")
difftime(t2c, t1c, units = "secs")发布于 2022-08-02 15:25:03
我们可以使用来自parse_date的parsedate
library(parsedate)
parse_date(t1) - parse_date(t2)
Time difference of -9.166667 mins或者使用chron
library(chron)
t1new <- sub(":(\\d+)$", ".\\1", trimws(t1, whitespace = ".*-\\s*"))
t2new <- sub(":(\\d+)$", ".\\1", trimws(t2, whitespace = ".*-\\s*"))
chron(times = t2new, format = c(times = "h:m:s")) -
chron(times = t1new, format = c(times = "h:m:s"))
[1] 00:09:10https://stackoverflow.com/questions/73210009
复制相似问题