转换“1984-03-25 02:00:00”到POSIX给NA [英] converting "1984-03-25 02:00:00" to POSIX gives NA

查看:129
本文介绍了转换“1984-03-25 02:00:00”到POSIX给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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆