R 转换;1984-03-2502:00:00“;到POSIX给NA

R 转换;1984-03-2502:00:00“;到POSIX给NA,r,datetime,posix,na,R,Datetime,Posix,Na,将日期时间向量转换为POSIXlt时,只有一个特定时间“25-Mar-1984-02:00”转换为POSIXlt,但返回NA!因此,在我的分析/绘图中忽略了此行 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",fo

将日期时间向量转换为POSIXlt时,只有一个特定时间“25-Mar-1984-02:00”转换为POSIXlt,但返回NA!因此,在我的分析/绘图中忽略了此行

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"))
返回TRUE,FALSE,FALSE,FALSE,FALSE

但是

返回 [1] “POSIXlt”“POSIXt”


这不是很奇怪吗?我怎么能让它“不NA”?

当你不说你的时区是什么时,这看起来像是夏令时(DST)问题。在使用DST的时区中,会有一天小时从1:59:59.999“跳”到3:00:00.000。这意味着在这一天凌晨2点的任何时间都不存在


我的猜测是1984-03-25 02:00:00是您当地时区的DST发生时间。

以上所有5行
都是.na…
对于meLikely来说返回
FALSE
,因为1984-03-25 02:00是您所在时区的DST发生时间(您没有指定),所以凌晨2点不存在(1:59:59.999后接3:00.000).@JoshuaUlrich是的,这是因为DST!谢谢你指出!@JoshuaUlrich你应该做出回答-敏锐的观察值得upvoting@NickK:你的愿望是我的命令…张贴。:)
class(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))