Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > timeライブラリ > Timeクラス > iso8601

singleton method Time.iso8601

xmlschema(date) -> Time[permalink][rdoc] [added by time]
iso8601(date) -> Time [added by time]

XML Schema で定義されている dateTime として date をパースして Time オブジェクトに変換します。

date がISO 8601で定義されている形式に準拠していない、 または Time クラスが指定された日時を表現できないときに ArgumentError が発生します。

Time オブジェクトを ISO8601 形式の文字列にフォーマットする インスタンスメソッド Time#iso8601, Time#xmlschema もあります。

[PARAM] date:
XML Schema で定義されている dateTime として パースされる文字列を指定します。
[EXCEPTION] ArgumentError:
date がISO 8601で定義されている形式に準拠していない、 または Time クラスが指定された日時を表現できないとき に発生します。

使用例

require 'time'

iso8601_time = '2008-08-31T12:34:56+09:00'
t = Time.iso8601(iso8601_time)
p t #=> 2008-08-31 12:34:56 +0900
p t.kind_of?(Time) #=> true

begin
  non_iso8601_time = '2008-08-31A12:34:56+09:00'
  Time.iso8601(non_iso8601_time)
rescue ArgumentError => err
  puts err #=> invalid date: "2008-08-31A12:34:56+09:00"
end

[SEE_ALSO] Time#xmlschema, Time#iso8601