[R] is.na(strptime (...)) return TRUE on FreeBSD
j@zh@o @end|ng |rom ye@h@net
Fri May 12 02:47:53 CEST 2023
On 2023/5/11 23:06, Ivan Krylov wrote:
> В Thu, 11 May 2023 22:15:49 +0800
> Jinsong Zhao <jszhao using yeah.net> пишет:
>> > (d <- strptime("1970-01-01 12:00:00 UTC", "%Y-%m-%d %H:%M:%OS", tz
>> > = ""))
>>  "1970-01-01 12:00:00 CST"
>> > is.na(d)
>>  TRUE
> Glad to see you're making progress! (Sometimes, is.na(strptime(...)) ==
> TRUE is what progress looks like.)
> is.na.POSIXlt works by converting the "unpacked" date+time into POSIXct
> (seconds since 1970-01-01 00:00 UTC) and then checking whether it's NA.
> Evidently, as.POSIXct(d) returns NA. (Right?)
> What does unclass(d) look like on FreeBSD? Does it contain any NAs
> itself, or do they originate somewhere in as.POSIXct(d)?
I just forgot to answer your question.
unclass(d) has $gmtoff with value of NA. However, in R 4.3.0 on Windows
this slot also has the value of NA. as.POSIXct(d) on FreeBSD gives NA.
> My current hypothesis is that FreeBSD mktime() doesn't like something
> about the timezone, but I may be wrong. Is is.na(strptime(
> "1970-01-03 12:00:00 UTC", "%Y-%m-%d %H:%M:%OS", tz = '')) also TRUE?
More information about the R-help