日期时间算术

要添加/减去时间,请使用 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