将“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 是您当地时区的夏令时。
在将日期时间向量转换为 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 是您当地时区的夏令时。