2015-04-26 22 views

回答

6

假設你的時間是一個變量「X」,你可以使用roundtrunc

嘗試:

round(X, "hour") 
trunc(X, "hour") 

這仍然需要一些工作,以確定是否值實際上已經四捨五入(用於round)。所以,如果你不想去想,你可以考慮使用「lubridate」包:

X <- structure(c(1430050590.96162, 1430052390.96162), class = c("POSIXct", "POSIXt")) 
X 
# [1] "2015-04-26 17:46:30 IST" "2015-04-26 18:16:30 IST" 

library(lubridate) 
ceiling_date(X, "hour") 
# [1] "2015-04-26 18:00:00 IST" "2015-04-26 19:00:00 IST" 
floor_date(X, "hour") 
# [1] "2015-04-26 17:00:00 IST" "2015-04-26 18:00:00 IST" 
5

我會用基礎R具有以下包裝去(你可以使用指定的時區在strptime函數內tz參數)

Myfunc <- function(x){x <- strptime(x, format = "%F %H") ; c(x, x + 3600L)} 
Myfunc("2015-01-01 01:50:50") 
## [1] "2015-01-01 01:00:00 IST" "2015-01-01 02:00:00 IST" 
+0

這工作太:-)我可能會建議使用'list'代替'C'使之與向量處理作爲輸入的時候,這是一個比較容易管理。順便問一下,從什麼時候你的時區IST? – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto這是一個很好的問題... –

+1

印度標準時間:) –

相關問題