これはもうひとつの日付解析モジュールです。
このモジュールは与えられた日付表現を解析するメソッドを提供します。 これは、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年代とみなされる。
[年, 月, 日, 時, 分, 秒, タイムゾーン, 曜日] の配列が返る。