これはもうひとつの日付解析モジュールです。
このモジュールは与えられた日付表現を解析するメソッドを提供します。 これは、ctime(3)、伝統的な date(1)、 RFC 822 日付、RFC 850 日付、 ISO 8601 の一部、JIS X0301 拡張の一部、などを受けつけます。
解析結果をTimeオブジェクトにする。
module ParseDate def to_time(date, cyear=false) ary = parsedate(date, cyear) if ary[6] == 'GMT' Time::gm(*ary[0..-3]) else Time::local(*ary[0..-3]) end end module_function :to_time end to_time ("Wed, 24 Jan 01 06:46:26 GMT").localtime => "Wed Jan 24 15:46:26 JST 2001"
なお、time.rb で同様のことができる(time.rb は、parsedate.rb を利 用している)。
require 'time' p Time.parse("Wed, 24 Jan 01 06:46:26 GMT").localtime => Wed Jan 24 15:46:26 JST 2001
ParseDate.parsedate(date, cyear=false)
dateは日付文字列。
さまざまな形式に対応している。
cyear
が指定してあるときは、年を2桁表記から4桁表記に直す。
二桁表記で69以上ならば1900年代、それ未満のときは2000年代とみなされる。
[年, 月, 日, 時, 分, 秒, タイムゾーン, 曜日] の配列が返る。