[R] is.na(strptime (...)) return TRUE on FreeBSD

Ivan Krylov kry|ov@r00t @end|ng |rom gm@||@com
Thu May 11 17:06:05 CEST 2023


В 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
>  > = ""))  
> [1] "1970-01-01 12:00:00 CST"
>  > is.na(d)  
> [1] 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)?

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?

-- 
Best regards,
Ivan



More information about the R-help mailing list