このTime.iso8601メソッドは、ISO-8601の制限されたサブセットです。
- その制限は何ですか?
- Rubyの完全な実装を知っている人はいますか?私はMRI1.8.7を使用しています。
アップデート
さまざまな8601の日付と日付/時刻の組み合わせのすべてを処理する単一のクラスはないようです。Date.parseしかし、私はとTime.iso8601メソッドの両方を使用して問題を回避することができました。欠点は、入力が日付のように見えるか、日付/時刻のように見えるかをコードで決定する必要があることです。
警告:タイムゾーンの違い
Time.iso8601Time.parse動作が異なります。
>> Time.parse("2010-09-06T12:27:00.10-05:00")
=> Mon Sep 06 18:27:00 +0100 2010
>> Time.iso8601("2010-09-06T12:27:00.10-05:00")
=> Mon Sep 06 17:27:00 UTC 2010
Time.iso8601とISO-8601の違い
このドキュメントでは、ISO-8601にあるものとRubyでサポートされているものの違いに触れています。簡単に言えば、可能なフォーマットの数は制限されているということです。