将“1984-03-25 02:00:00”转换为 POSIX 给出 NA

converting "1984-03-25 02:00:00" to POSIX gives NA

在将日期时间向量转换为 POSIXlt 时,只有一个特定时间“25-Mar-1984-02:00”“被转换为 POSIXlt,但 returns 不适用!因此,这一行正在获取在我的 analysis/plots.

中省略了
is.na(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("25-Mar-1984-03:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("25-Mar-1984-01:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("24-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("26-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))

returns 对,错,错,错,错。

但是

class(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))

returns [1] "POSIXlt" "POSIXt"

是不是很奇怪?我怎样才能让它成为 "not NA"?

虽然您没有说出您所在的时区,但这看起来像是夏令时 (DST) 问题。在使用 DST 的时区中,会有一天的小时 "jumps" 从 1:59:59.999 到 3:00:00.000。这意味着当天凌晨 2 点的任何时间都不存在。

我的猜测是 1984-03-25 02:00:00 是您当地时区的夏令时。