1

なぜTime.parseオフセットを誤解しているように見えるのか誰かが知っていますか?

# Correct:
ruby-1.9.2-p136 > DateTime.parse "2011-04-07T13:53:00-3"
 => Thu, 07 Apr 2011 13:53:00 -0300 

ruby-1.9.2-p136 > Time.parse "2011-04-07T13:53:00-3"
 => 2011-04-07 13:53:00 +0300 

形式に違いはないようです。

ruby-1.9.2-p136 :027 > Time.parse "2011-04-07T13:53:00-0300"
 => 2011-04-07 19:53:00 +0300 
ruby-1.9.2-p136 :028 > Time.parse "2011-04-07T13:53:00-03"
 => 2011-04-07 19:53:00 +0300 
ruby-1.9.2-p136 :029 > Time.parse "2011-04-07T13:53:00-03:00"
 => 2011-04-07 19:53:00 +0300 
4

1 に答える 1

2

Time.parseはそれをあなたのタイムゾーンに変換すると思います。したがって、+ 3にいて、13.53:00-3の時間を指定すると、現地時間は19.53:00+3になります。

また、Ruby Docを見ると、Time#parseメソッドがRFC822で説明されているタイムゾーンの略語とシステムのタイムゾーンのみを理解していることがわかります。

したがって、「-3」の代わりに「-0300」を使用する必要があります。

于 2011-04-07T10:58:31.547 に答える