Menu Close
In fact, it has the 39mm Oystersteel monobloc middle-case of the OP essentially, which appears a little more curvaceous than the flat, trapezoid profile of the 40mm Oystersteel Submariner. The bezel of the replica rolex watches Explorer I is different on each: The OP has a domed, high-polish bezel, while the Explorer I has what Rolex calls a "Smooth" bezel. It has a flat surface instead of the convex bezel of the OP, with nicely polished.



Build Status
Erlang Version

An ISO 8601 date formatting and parsing library for Erlang

iso8601 project logo



The erlang_iso8601 library was originally created by Sean Sawyer in 2011. In 2016, Sean handed off maintenance of the library to the erlsci Github org at which point the project (and repo) was renamed to simply iso8601, matching its Erlang app name:

  • git clone

Thanks to Github’s forwarding for project renames and moves, the following still work:

  • git clone
  • git clone


Add it to your rebar.config deps:

{iso8601, {git, "", {tag, "1.3.2"}}}

Format a timestamp or calendar datetime tuple:

1> iso8601:format(now()). <<"2012-02-16T01:06:19Z">> 2> iso8601:format(calendar:universal_time()). <<"2012-02-16T01:06:48Z">>

Parse a date string or binary:

3> iso8601:parse(<<"2012-02-16T01:06:48Z">>). {{2012,2,16},{1,6,48}} 4> iso8601:parse("2012-02-16T01:06:48Z"). {{2012,2,16},{1,6,48}}

Add 1 hour, 2 minutes and 3 seconds to a datetime tuple:

5> Datetime = iso8601:parse(<<"2012-02-16T01:06:48Z">>). {{2012,2,16},{1,6,48}} 6> iso8601:add_time(Datetime, 1, 2, 3). {{2012,2,16},{2,8,51}}

Subtract 1 hour, 2 minutes and 3 seconds from a datetime tuple:

5> Datetime = iso8601:parse(<<"2012-02-16T01:06:48Z">>). {{2012,2,16},{1,6,48}} 6> iso8601:subtract_time(Datetime, 1, 2, 3). {{2012,2,16},{0,4,45}}

Fractional times:

7> iso8601:parse("20120203T040506.50"). {{2012,2,3},{4,5,7}} 8> iso8601:parse_exact("20120203T040506.50"). {{2012,2,3},{4,5,6.50}}

Parse durations:

9> iso8601:parse_duration("+P6Y3M1DT1H1M1.1S"). [{sign, "+"}, {years, 6}, {months, 3}, {days, 1}, {hours, 1}, {minutes, 1}, {seconds, 1}] 10> iso8601:parse_duration("PT6M"). [{sign, []}, {years, 0}, {months, 0}, {days, 0},{hours, 0}, {minutes, 6}, {seconds, 0}]

Known Deficiencies

  • Does not support expanded year representation.
  • Does not support intervals.

See the open issues
for more info.


A donation account for supporting development on this project has been set up
on Liberapay here:

You can learn more about Liberapay on its Wikipedia entry or on the
service’s “About” page.


The MIT License (MIT)

Copyright © 2011-2014, Sean Sawyer
Copyright © 2012, Tristan Sloughter
Copyright © 2016-2021, Erlang-Aided Enrichment Center
View Source Code