[ 
https://issues.apache.org/jira/browse/ARROW-14124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neal Richardson resolved ARROW-14124.
-------------------------------------
    Fix Version/s: 6.0.0
       Resolution: Fixed

Issue resolved by pull request 11250
[https://github.com/apache/arrow/pull/11250]

> [R] Timezone support in R <= 3.4
> --------------------------------
>
>                 Key: ARROW-14124
>                 URL: https://issues.apache.org/jira/browse/ARROW-14124
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: R
>            Reporter: Jonathan Keane
>            Assignee: Jonathan Keane
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 6.0.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The error is: 
> https://github.com/ursacomputing/crossbow/runs/3696604088#step:7:15209
> {code}
>  Timezone not present, cannot convert to string with timezone: %Y-%m-%d%z
> {code}
> Ok, I think I’ve got close to the source of the issue (though let me tell you 
> neither the source nor the docs for R are accurate [1] on this…)
> 3.4 (and earlier):
> {code:r}
> > attributes(c(lubridate::ymd_hms("2018-10-07 19:04:05", tz = "Etc/GMT+6"), 
> > NA)) 
> $class
> [1] "POSIXct" "POSIXt" 
> {code}
> 3.5 (and later):
> {code:r}
> > attributes(c(lubridate::ymd_hms("2018-10-07 19:04:05", tz = "Etc/GMT+6"), 
> > NA)) 
> $class
> [1] "POSIXct" "POSIXt" 
> $tzone
> [1] "Etc/GMT+6"
> {code}
> So R itself is dropping the {{tzone}} attribute when we use {{c()}}, that is 
> being passed to Arrow as such, and then when Arrow goes to print a timezone 
> it (rightfully!) complains that there is no timezone to be formatted into the 
> string. 
> This behavior actually sounds right (given the inputs), so I propose that we 
> catch the error R <=3.4 (or skip the test in r<=3.4)
> [1] - The documented behavior is current, but it didn't change at the same 
> time as the actual behavior.
> The docs starting in 4.1.0 state:
>  Using \code{\link{c}} on \code{"POSIXlt"} objects converts them to the
>   current time zone, and on \code{"POSIXct"} objects drops any
>   \code{"tzone"} attributes, unless they are all marked with the same
>   time zone.
> https://github.com/wch/r-source/blob/tags/R-4-1-0/src/library/base/man/DateTimeClasses.Rd#L180-L183
> The docs before that state:
>   Using \code{\link{c}} on \code{"POSIXlt"} objects converts them to the
>   current time zone, and on \code{"POSIXct"} objects drops any
>   \code{"tzone"} attributes (even if they are all marked with the same
>   time zone).
> https://github.com/wch/r-source/blob/tags/R-4-0-5/src/library/base/man/DateTimeClasses.Rd



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to