有馬です。

rubikitch <rubikitch / ruby-lang.org> wrote

| あらら、 +0900 なんてのもあるか。

+900 以外もあたってみたのが、こんな感じです。

class Time
  def Time.parse( timestr )
    year, month, day, hour, min, sec, zone, wday = parsedate( timestr )
    tm = Time.gm( year, month, day, hour, min, sec )
    return tm  unless zone
    return tm  if zone.to_i == 0   # Woooo, Vow Wow!

    hour = zone[0,3].to_i * 3600
    min  = zone[3,2].to_i * 60
    ofs  = (hour + min)
    return Time.at( tm.to_f - ofs )
  end
end

--
 有馬 康弘 <fit0298 / fitec.co.jp>