Thanks to all who replied. On Mon, 6 Nov 2023 at 18:37, Richard O'Keefe <rao...@gmail.com> wrote:
> OK, so the consensus is > (1) One cannot make strptime accept ISO8601-compliant zone designators > (2) The lubridate package can > (3) Or one can hack away with regex. > Lubridate it is, then. > > But I do regard strptime's inability to process ISO8601-compliant zone > designators as a bug. > > > On Mon, 6 Nov 2023 at 13:18, jim holtman <jholt...@gmail.com> wrote: > >> try using 'lubridate' >> >> > library(lubridate)Attaching package: ‘lubridate’ >> >> The following objects are masked from ‘package:base’: >> >> date, intersect, setdiff, union >> > x <- "2017-02-28T13:35:00+03:00"> ymd_hms(x)[1] "2017-02-28 10:35:00 UTC" >> >> > >> >> >> >> Thanks >> >> Jim Holtman >> *Data Munger Guru* >> >> >> *What is the problem that you are trying to solve?Tell me what you want >> to do, not how you want to do it.* >> >> >> On Sun, Nov 5, 2023 at 3:45 PM Richard O'Keefe <rao...@gmail.com> wrote: >> >>> I have some data that includes timestamps like this: >>> 2017-02-28T13:35:00+03:00 >>> The documentation for strptime says that %z expects >>> an offset like 0300. I don't see any way in the documentation >>> to get it to accept +hh:mm with a colon separator, and >>> everything I tried gave me NA as the answer. >>> >>> Section 4.2.5.1 of ISO 8601:2004(E) allows both the >>> absence of colons in +hh[mm] (basic format) and the >>> presence of colons in +hh:mm (extended format). >>> Again in section 4.2.5.2 where a zone offset is combined >>> with a time of day: if you have hh:mm:ss you are using >>> extended format and the offset MUST have a colon; if >>> you have hhmmss you are using basic format and the >>> offset MUST NOT have a colon. And again in section >>> 4.3.2 (complete representations of date and time of day). >>> If you use hyphens and colons in the date and time part >>> you MUST have a colon in the zone designator. >>> >>> So I am dealing with timestamps in strict ISO 8601 >>> complete extended representation, and it is rather >>> frustrating that strptime doesn't deal with it simply. >>> >>> The simplest thing would be for R's own version of >>> strptime to allow an optional colon between the hour >>> digits and the minute digits of a zone designator. >>> >>> I'm about to clone the data source and edit it to >>> remove the colons, but is there something obvious >>> I am missing? >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide >>> http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >> [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.