为什么某些日期从字符转换为POSIXlt时会变为NA? [重复]

问题描述 投票:1回答:1

我希望有人可以阐明为什么当is.na实际上包含有效的日期时间值时,is.na将一些日期/时间值评估为TRUE吗?

dateString = "03/09/14 02:00:00 AM"
dateValue <- strptime(dateString, format='%m/%d/%y %I:%M:%S %p', tz="")
is.na(dateValue)

但是在一小时或更晚之前,以及其他大多数日期和时间,is.na正确返回FALSE。

我遇到过这个“错误”的其他dateStrings包括

dateString = "03/08/15 02:30:30 AM"
dateString = "03/13/16 02:25:30 AM"
r timezone strptime
1个回答
2
投票

我更新了代码,以指定GMT时区,因为数据是在GMT中收集的,没有更改夏令时或在夏令时更改。

dateValue <- strptime(dateString, format='%m/%d/%y %I:%M:%S %p', tz="GMT")

这确保格式正确的日期时间值不会通过is.na()评估为TRUE>

© www.soinside.com 2019 - 2024. All rights reserved.