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