[R] strptime with +03:00 zone designator

Richard O'Keefe r@oknz @end|ng |rom gm@||@com
Mon Nov 6 00:45:01 CET 2023


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?



More information about the R-help mailing list