difftime
位於 base
包(package)。 說明
時間間隔創建、打印和一些算術。 print()
方法調用這些“time differences”。
用法
time1 - time2
difftime(time1, time2, tz,
units = c("auto", "secs", "mins", "hours",
"days", "weeks"))
as.difftime(tim, format = "%X", units = "auto", tz = "UTC")
## S3 method for class 'difftime'
format(x, ...)
## S3 method for class 'difftime'
units(x)
## S3 replacement method for class 'difftime'
units(x) <- value
## S3 method for class 'difftime'
as.double(x, units = "auto", ...)
## Group methods, notably for round(), signif(), floor(),
## ceiling(), trunc(), abs(); called directly, *not* as Math():
## S3 method for class 'difftime'
Math(x, ...)
參數
time1 , time2 |
|
tz |
用於轉換的可選 time zone 規範,主要用於 |
units |
字符串。所需結果的單位。可以縮寫。 |
value |
字符串。與 |
tim |
指定時間間隔的字符串或數值。 |
format |
指定 |
x |
從類 |
... |
要傳遞給其他方法或從其他方法傳遞的參數。 |
細節
函數 difftime
計算兩個日期/時間對象的差異,並返回 "difftime"
類的對象,該對象具有指示單位的屬性。 Math
組方法為該類的對象提供了 round
、 signif
、 floor
、 ceiling
、 trunc
、 abs
和 sign
方法,並且還有用於組的方法 -通用(請參閱Ops
)邏輯和算術運算。
如果 units = "auto"
,則選擇一組合適的單位,盡可能最大的單位(不包括 "weeks"
),其中所有絕對差都大於 1。
通過使用 units = "auto"
調用 difftime
來減去日期時間對象會給出此類的對象。或者,as.difftime()
適用於 character-coded 或數字時間間隔;在後一種情況下,必須指定單位,並且 format
不起作用。
"difftime"
對象上可用的算術有限:它們可以與數值向量相加或相減、相乘或相除。此外,通過 "difftime"
對象添加或減去數值向量會將該數值向量隱式轉換為與 "difftime"
對象具有相同單位的 "difftime"
對象。有 mean
和 sum
的方法(通過 Summary
組通用),以及 diff
通過 diff.default
構建在 "difftime"
算術方法上,特別是 -
。
"difftime"
對象的單元可以通過 units
函數提取,該函數也有替換形式。如果單位改變,數值也會相應縮放。替換版本保留名稱和尺寸等屬性。
請注意,units = "days"
表示 24 小時的時間段,因此不考慮夏令時。 "Date"
類對象的差異按照 UTC 時區進行計算。
as.double
方法返回以指定單位表示的數值。使用units = "auto"
表示對象的單位。
format
方法隻是格式化數值並將單位附加為文本字符串。
警告
因為R遵循 POSIX(以及幾乎所有計算機時鍾)忽略閏秒,時間差異也是如此。所以在 UTC 時區
z <- as.POSIXct(c("2016-12-31 23:59:59", "2017-01-01 00:00:01")) z[2] - z[1]
報告‘時差2秒’但是3秒過去了,電腦時鍾前進了2秒。
如果您想要經過的時間間隔,您需要自己添加任何閏秒。
注意
像 "months"
這樣的單元是不可能的,因為它們的長度不是恒定的。要創建月份、季度或年份的間隔,請使用 seq.Date
或 seq.POSIXt
。
例子
(z <- Sys.time() - 3600)
Sys.time() - z # just over 3600 seconds.
## time interval between release days of R 1.2.2 and 1.2.3.
ISOdate(2001, 4, 26) - ISOdate(2001, 2, 26)
as.difftime(c("0:3:20", "11:23:15"))
as.difftime(c("3:20", "23:15", "2:"), format = "%H:%M") # 3rd gives NA
(z <- as.difftime(c(0,30,60), units = "mins"))
as.numeric(z, units = "secs")
as.numeric(z, units = "hours")
format(z)
也可以看看
相關用法
- R diff 滯後差異
- R diag 矩陣對角線
- R dimnames 對象的暗名稱
- R dim 物體的尺寸
- R dump R 對象的文本表示
- R deparse 表達式解析
- R deparseOpts 表達式解析選項
- R dots ...、..1 等在函數中使用
- R debug 調試函數
- R do.call 執行函數調用
- R dcf 以 DCF 格式讀寫數據
- R data.class 對象類
- R dyn.load 對外函數接口
- R dput 將對象寫入文件或重新創建它
- R duplicated 確定重複元素
- R dontCheck 抑製檢查的身份函數
- R drop 刪除冗餘盤區信息
- R delayedAssign 延遲評估和承諾
- R det 計算矩陣的行列式
- R detach 從搜索路徑中分離對象
- R data.frame DataFrame
- R double 雙精度向量
- R data.matrix 將 DataFrame 轉換為數字矩陣
- R date 係統日期和時間
- R droplevels 刪除因子中未使用的級別
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Time Intervals / Differences。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。