从字符到posixct

From character to posixct

我有这个由一年和一个月组成的字符类型向量。我想将它转换为日期类型,但是当我尝试使用 POSIXct 函数执行此操作时,出现错误:

 Error in as.POSIXlt.character(x, tz, ...) : 
   character string is not in a standard unambiguous format

我似乎无法弄清楚为什么它不起作用。有人吗?

 old <- as.character("201702")

 library(lubridate)
 new <- as.POSIXct(date, origin = "201501")

您只需要先使用适当的格式转换为日期:

as.POSIXct(as.Date("201702", format = "%Y%m"))

您还可以假设您想要每月的 1 号吗?

as.POSIXct(as.Date(paste0("201702", "01"), format = "%Y%m%d"))

小心 POSIX 日期,因为它们也包含时间,因此您指定的时区也会影响您获得的日期。