[R] is.na(strptime (...)) return TRUE on FreeBSD
j@zh@o @end|ng |rom ye@h@net
Thu May 11 17:16:45 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)?
> 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?
After I post this thread to the mailing list, I dig into
.Internal(as.POSIXct(d, "")). I think it may be a bug, so I filed a bug
report on R's bugzilla.
Yes, is.na(strptime("1970-01-03 12:00:00 UTC", "%Y-%m-%d %H:%M:%OS", tz
= '')) also TRUE.
I am not familiar with any system function. I just notice that
datetime.c in src/main/ of R 4.3.0 increase 500+ more lines compared to
that of R 4.2.0.
Thank you very much for pointing me to the right direction.
More information about the R-help