2011-08-08 34 views
2

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

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

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

回答

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