使用 R,as.POSIXct() 返回 NA,即使它之前工作

Using R, as.POSIXct() returning NAs even though it was working before

我正在使用 R。这在一个月前对我有用,但现在当我尝试 运行 它时,我得到了 NA。我试过更改时区,但仍然收到 NA。我不确定为什么会遇到这个问题

as.POSIXct("12:46 29-Nov-18",format = "%H:%M %m/%d/%y")
as.POSIXct("12:46 29-Nov-18",format = "%H:%M %m/%d/%y",tz= "GMT")

您的代码有几处错误,大部分已通过阅读 ?strptime:

修复
  • "%m" 是月份的 2 位(0 填充)整数,而不是 Nov,请使用 %b 代替
  • 字符串是破折号,不是斜杠,所以 %m/%d/%y 应该是 %m-%d-%y
  • 字符串的日期在前,所以 %d-%m-%y 应该是正确的顺序。

结合这三个,我们有

as.POSIXct("12:46 29-Nov-18",format = "%H:%M %d-%b-%y")
# [1] "2018-11-29 12:46:00 EST"
as.POSIXct("12:46 29-Nov-18",format = "%H:%M %d-%b-%y", tz = "GMT")
# [1] "2018-11-29 12:46:00 GMT"