转换“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,但返回NA!因此,在我的分析/绘图中,该行被忽略。
While converting a vector of date-time to POSIXlt, just one particular time "25-Mar-1984-02:00" "is converted to POSIXlt but returns NA! So, this row was getting omitted in my 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"))
返回TRUE,FALSE,FALSE,FALSE,FALSE。
returns TRUE, FALSE, FALSE, FALSE, FALSE.
但
class(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
返回
[1]POSIXlt POSIXt
returns [1] "POSIXlt" "POSIXt"
不是很奇怪吗?如何让它成为不是NA?
Isn't that strange? How can I get it to be "not NA"?
推荐答案
虽然你不说什么你的时区我s,这看起来像夏令时(DST)问题。在使用DST的时区中,将有一天的时间从1:59:59.999到3:00:00.000的跳。这意味着在这个凌晨2点的时间里,任何时候都不存在。
While you don't say what your timezone is, this looks like Daylight Saving Time (DST) issue. In timezones that use DST, there will be a day where the hour "jumps" from 1:59:59.999 to 3:00:00.000. This means that any times in the 2AM hour do not exist on this day.
我的猜测是,1984-03-25 02:00:00是DST发生时您当地的时区。
My guess is that 1984-03-25 02:00:00 is when DST occurs in your local timezone.
这篇关于转换“1984-03-25 02:00:00”到POSIX给NA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!