Skip to content
class method

DateTime.iso8601

(::String str, ?::Integer start) -> ::DateTime
DateTime.iso8601(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) → datetime

Creates a new DateTime object by parsing from a string according to some typical ISO 8601 formats.

Example
DateTime.iso8601('2001-02-03T04:05:06+07:00')
                          #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.iso8601('20010203T040506+0700')
                          #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.iso8601('2001-W05-6T04:05:06+07:00')
                          #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>

Raise an ArgumentError when the string length is longer than limit. You can stop this check by passing limit: nil, but note that it may take a long time to parse.

See also #iso8601 .httpdate .jd .commercial also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0