当日期不正确时返回NA

时间:2011-08-08 04:03:39

标签: r datetime formatting posix

我正在尝试使用R命令 as.POSIXct 将字符串日期转换为POSIXct 如果列表中的某个日期不正确(2月31日),则返回错误。我怎样才能获得NA?

我在帮助中读到已知无效的日期时间将返回为NA。这是一个错误吗?

as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT")

1 个答案:

答案 0 :(得分:8)

您还应该为函数提供格式字符串,如下所示:

> as.POSIXct(c("2011-02-02", "2011-02-31"), tz="GMT", format='%Y-%m-%d')
[1] "2011-02-02 GMT" NA 

问题是没有格式字符串,函数无法弄清楚,字符串的哪一部分代表月份,哪一部分代表当天。

编辑:

这实际上是错误所抱怨的:

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