File: iso8601.el.html

ISO8601 times basically look like 1985-04-01T15:23:49... Or so you'd think. This is what everybody means when they say "ISO8601", but it's in reality a quite large collection of syntaxes, including week numbers, ordinal dates, durations and intervals. This package has functions for parsing them all.

The interface functions are iso8601-parse, iso8601-parse-date, iso8601-parse-time, iso8601-parse-zone, iso8601-parse-duration and iso8601-parse-interval. They all return decoded time objects, except the last one, which returns a list of three of them.

(iso8601-parse-interval "P1Y2M10DT2H30M/2008W32T153000-01")
'((0 0 13 24 5 2007 nil nil -3600)
  (0 30 15 3 8 2008 nil nil -3600)
  (0 30 2 10 2 1 nil nil nil))


The standard can be found at:

https://www.loc.gov/standards/datetime/iso-tc154-wg5_n0038_iso_wd_8601-1_2016-02-16.pdf

The Wikipedia page on the standard is also informative:

https://en.wikipedia.org/wiki/ISO_8601

RFC3339 defines the subset that everybody thinks of as "ISO8601".

Defined variables (0)

Defined functions (13)

iso8601--concat-regexps(REGEXPS)
iso8601--decimalize(FRACTION BASE)
iso8601--decoded-time
iso8601--encode-time(TIME)
iso8601--match(REGEXP STRING)
iso8601--value(ELEM &optional DEFAULT)
iso8601-parse(STRING &optional FORM)
iso8601-parse-date(STRING)
iso8601-parse-duration(STRING)
iso8601-parse-interval(STRING)
iso8601-parse-time(STRING &optional FORM)
iso8601-parse-zone(STRING)
iso8601-valid-p(STRING)

Defined faces (0)