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


R lubridate as_date 将对象转换为日期或日期时间


将对象转换为日期或日期时间

用法

as_date(x, ...)

# S4 method for ANY
as_date(x, ...)

# S4 method for POSIXt
as_date(x, tz = NULL)

# S4 method for numeric
as_date(x, origin = lubridate::origin)

# S4 method for character
as_date(x, tz = NULL, format = NULL)

as_datetime(x, ...)

# S4 method for ANY
as_datetime(x, tz = lubridate::tz(x))

# S4 method for POSIXt
as_datetime(x, tz = lubridate::tz(x))

# S4 method for numeric
as_datetime(x, origin = lubridate::origin, tz = "UTC")

# S4 method for character
as_datetime(x, tz = "UTC", format = NULL)

# S4 method for Date
as_datetime(x, tz = "UTC")

参数

x

POSIXt 、数字或字符对象的向量

...

要传递给特定方法的更多参数(见上文)。

tz

时区名称(默认值:POSIXt 对象 x 的时区)。请参阅OlsonNames()

origin

Date 对象,或者可以被 as.Date(origin, ...) 强制转换为此类对象的对象(默认值:"1970-01-01" 的 Unix 纪元)。请注意,在本例中,假设 x 反映自 origin"UTC" 以来的天数。

format

字符方法的格式参数。当提供的解析由 parse_date_time(x, orders = formats, exact = TRUE) 执行时。因此,多种格式被支持并被轮流尝试。

x 对应的 Date 对象向量。

与基础 R 比较

这些是 as.Date()as.POSIXct() 的替代品,并进行了一些调整以使它们更直观地工作。

  • POSIXct 对象上调用时,as_date() 使用该对象的 tzone 属性返回与该对象的打印表示形式指示的相同日期。这与 as.Date 不同,as.Date 忽略该属性并仅使用 as.Date() 的 tz 参数(默认为 "UTC")。

  • 这两个函数都为数值向量提供默认的原点参数。

  • 这两个函数都会针对无效的日期格式生成 NA。有效格式是 ISO8601 标准说明的格式。警告消息将提供未转换元素的计数。

  • as_datetime() 默认使用 UTC。

例子

dt_utc <- ymd_hms("2010-08-03 00:50:50")
dt_europe <- ymd_hms("2010-08-03 00:50:50", tz = "Europe/London")
c(as_date(dt_utc), as.Date(dt_utc))
#> [1] "2010-08-03" "2010-08-03"
c(as_date(dt_europe), as.Date(dt_europe))
#> [1] "2010-08-03" "2010-08-02"
## need not supply origin
as_date(10)
#> [1] "1970-01-11"
## Will replace invalid date format with NA
dt_wrong <- c("2009-09-29", "2012-11-29", "2015-29-12")
as_date(dt_wrong)
#> Warning:  1 failed to parse.
#> [1] "2009-09-29" "2012-11-29" NA          
源代码:R/coercion.r

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Convert an object to a date or date-time。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。