如何处理 lubridate 的 ymd 默认值的变化
How to deal with change in default of lubridate's ymd
在来自 lubridate 的 ymd
中,tz
的默认值是 UTC
。我不知道确切的更改时间,但我知道在 1.5 中默认是 UTC,但在 1.5.8 中默认现在是 NULL
。
这将 ymd
的输出从 POSIXct
对象更改为 Date
对象,这破坏了我依赖 POSIXct
对象的很多代码,但现在有一个Date
。有没有一种方便的方法可以使它向后兼容,或者我是否需要将 tz='UTC'
添加到我所有依赖于它的旧代码中?
编写一个包装器将 ymd
替换为 ymd_hms
,默认值仍然是 tz = "UTC"
library(lubridate)
ymd2 = function(x){
ymd_hms(paste(x, "00:00:00"))
}
ymd2("2017/3/4")
#[1] "2017-03-04 UTC"
class(ymd2("2017/3/4"))
#[1] "POSIXct" "POSIXt"
在来自 lubridate 的 ymd
中,tz
的默认值是 UTC
。我不知道确切的更改时间,但我知道在 1.5 中默认是 UTC,但在 1.5.8 中默认现在是 NULL
。
这将 ymd
的输出从 POSIXct
对象更改为 Date
对象,这破坏了我依赖 POSIXct
对象的很多代码,但现在有一个Date
。有没有一种方便的方法可以使它向后兼容,或者我是否需要将 tz='UTC'
添加到我所有依赖于它的旧代码中?
编写一个包装器将 ymd
替换为 ymd_hms
,默认值仍然是 tz = "UTC"
library(lubridate)
ymd2 = function(x){
ymd_hms(paste(x, "00:00:00"))
}
ymd2("2017/3/4")
#[1] "2017-03-04 UTC"
class(ymd2("2017/3/4"))
#[1] "POSIXct" "POSIXt"