日期時間算術

要新增/減去時間,請使用 POSIXct,因為它以秒為單位儲存時間

## adding/subtracting times - 60 seconds
as.POSIXct("2016-01-01") + 60
# [1] "2016-01-01 00:01:00 AEDT"

## adding 3 hours, 14 minutes, 15 seconds
as.POSIXct("2016-01-01") + ( (3 * 60 * 60) + (14 * 60) + 15)
# [1] "2016-01-01 03:14:15 AEDT"

更正式地說,as.difftime 可用於指定新增到日期或日期時間物件的時間段。例如:

as.POSIXct("2016-01-01")         + 
  as.difftime(3,  units="hours") +
  as.difftime(14, units="mins")  +
  as.difftime(15, units="secs")
# [1] "2016-01-01 03:14:15 AEDT"

要查詢日期/時間之間的差異,請使用 difftime() 獲取秒,分,小時,天或周的差異。

# using POSIXct objects
difftime(
  as.POSIXct("2016-01-01 12:00:00"), 
  as.POSIXct("2016-01-01 11:59:59"), 
  unit = "secs")
# Time difference of 1 secs

要生成日期時間序列,請使用 seq.POSIXt() 或簡單地使用 seq