我正在维护一些同时使用 lubridate 和 chron 包的代码,并且出现了一个新警告。
警告消息:tz():不知道如何计算类日期/时间对象的时区;返回“UTC”。此警告将在 lubridate 的下一个主要版本中成为错误。
从 chron 制作的对象中提取月份时会出现这种情况。
library(lubridate)
library(chron)
xdate <- structure(c(23831, 23832, 23833, 23834, 23835, 23836),
format = "d/m/y", origin = c(month = 1, day = 1, year = 1900), class = c("dates", "times"))
lubridate::month(xdate)
我可以通过将 xdate 包装在 as.Date 中来解决这个问题
lubridate::month(as.Date(xdate))
。产生的日期是正确的。这种方法可以吗?
编辑:我看到另一种解决方法是chron::month.day.year(xdate)$month