>>>>> Richard O'Keefe
>>>>> on Mon, 6 Nov 2023 18:37:34 +1300 writes:
> Thanks to all who replied. On Mon, 6 Nov 2023 at 18:37,
> Richard O'Keefe <raoknz at 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.
Did you try to submit it to R's bugzilla?
It's the first time I hear of this "Feature" of the ISO
standard, but then I'm not at all a timezone, and even less an
ISO standard expert.
Best,
Martin
>> On Mon, 6 Nov 2023 at 13:18, jim holtman
>> <jholtman at 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
>>> <raoknz at 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 at 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 at 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.