簡體   English   中英

找出R中的時間差

[英]Find difference between times in R

幫助我找出時間之間的時差。例如:這些是日期和時間

2015-11-24 16:49:14
2014-12-02 16:52:43

需要使用r的HH:MM:SS格式的結果。

由於您只需要時間之間的差異,因此可以忽略日期,首先可以使用strptime提取時間

x <- strptime(substr(a, 12, 19), format="%H:%M:%S")
y <- strptime(substr(b, 12, 19), format="%H:%M:%S")

然后使用seconds_to_period的功能lubridate包,你可以得到的時間差,然后使用格式化輸出sprintf

library(lubridate)
temp <- seconds_to_period(as.numeric(difftime(y, x, units = "secs")))
sprintf('%02d:%02d:%02d', hour(temp), minute(temp), second(temp)) 

# [1] "00:03:29"     

數據

a <- as.POSIXct("2015-11-24 16:49:14") 
b <- as.POSIXct("2014-12-02 16:52:43")

遵循代碼以獲取差異

library(lubridate)
interval(ymd_hms("2015-11-2416:17:38"),ymd_hms("2015-11-24 14:19:44"))
span<-interval(as.POSIXct("2015-11-24 16:17:38"),
as.POSIXct("2015-11-24 14:19:44")) 
as.period(span)

答案格式

> -1H -57M -54S

同時顯示年,月和日期的差異

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM