當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R lubridate DateTimeUpdate 更改日期對象的組成部分


update.Date()update.POSIXt() 返回更新了指定元素的日期。未指定的元素將保持不變。 update.Date 和 update.POSIXt 不會將指定的值添加到現有日期,而是將它們替換為現有日期的適當部分。

用法

# S3 method for POSIXt
update(
  object,
  ...,
  roll_dst = c("NA", "post"),
  week_start = getOption("lubridate.week.start", 7),
  roll = NULL,
  simple = NULL
)

參數

object

日期時間對象

...

命名參數:年、月、ydays、wdays、mdays、日、小時、分鍾、秒、tzs(時區部分)

roll_dst

是長度為一或二的字符串向量。當提供兩個值時,它們分別指定當日期時間落入 "skipped" 和 "repeated" DST 轉換時如何滾動日期時間。單個值被複製到兩個值的長度。可能的值為:

* `pre` - Use the time before the transition boundary.
* `boundary` - Use the time exactly at the boundary transition.
* `post` - Use the time after the boundary transition.
* `xfirst` - crossed-first: First time which occurred when crossing the
   boundary. For addition with positive units pre interval is crossed first and
   post interval last. With negative units post interval is crossed first, pre -
   last. For subtraction the logic is reversed.
* `xlast` - crossed-last.
* `NA` - Produce NAs when the resulting time falls inside the problematic interval.

例如,`roll_dst = c("NA", "pre") 表示對於跳過的間隔返回 NA,對於重複的時間返回較早的時間。

當提供多個單位時,"negative period" 的含義由最大單位確定。例如time_add(t, days = -1, hours = 2, roll_dst = "xfirst")將像負周期一樣運行,從而跨越從 "post" 到 "pre" 側和 "xfirst" 的邊界,從而解析為 "post" 時間。因為這可能會導致令人困惑的行為。請參閱示例。

"xfirst" 和 "xlast" 僅對加法和減法有意義。如果嘗試將它們與其他函數一起使用,則會引發錯誤。

week_start

周開始日(默認為 7,周日。設置lubridate.week.start 進行覆蓋)。一周中各天的完整或縮寫名稱可以是英文或由當前區域設置提供。

simple, roll

已棄用

更新了請求的元素的日期對象。該對象將保留其原始類,除非更新了原始類不支持的元素。在這種情況下,返回的日期將是 POSIXlt 日期對象。

例子

date <- ymd("2009-02-10")
update(date, year = 2010, month = 1, mday = 1)
#> [1] "2010-01-01"

update(date, year = 2010, month = 13, mday = 1)
#> [1] "2011-01-01"

update(date, minute = 10, second = 3)
#> [1] "2009-02-10 00:10:03 UTC"
源代碼:R/update.r

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Changes the components of a date object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。