当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。