正しいUTC時間は1805です。時間グループは、ゾーン-10で0805を示しています。与えられた時間。したがって、1805。1805は2400未満であるため、同じ日です。
コードで1605が指定されている場合、ほとんどの場合、タイムゾーンがゾーン-8に誤って設定されていることがあります。これは太平洋標準時です。
あなたの入力フォーマットがうんざりしているようです。観察:
irb(main):003:0> Time.parse("2008-02-20T8:05:00-010:00")
=> Wed Feb 20 08:05:00 -0700 2008
私はゾーン-7にいるので、それは私のロケールに合っています。しかし、
irb(main):004:0> t=Time.parse("2008-02-20T8:05:00-010:00")
=> Wed Feb 20 08:05:00 -0700 2008
irb(main):005:0> t
=> Wed Feb 20 08:05:00 -0700 2008
irb(main):006:0> t.getutc
=> Wed Feb 20 15:05:00 UTC 2008
私は予期せぬ結果を得ています。今観察:
irb(main):007:0> t=Time.parse("2008-02-20T8:05:00-10:00")
=> Wed Feb 20 11:05:00 -0700 2008
irb(main):008:0> t.getutc
=> Wed Feb 20 18:05:00 UTC 2008
期待結果があります。違いを見ます?二対最初の例:
irb(main):004:0> t=Time.parse("2008-02-20T8:05:00-010:00")
irb(main):007:0> t=Time.parse("2008-02-20T8:05:00-10:00")
私は偽の余分な0アウト(私は確かにどちらか気づかなかった)とヒューという音を取り、それが動作します。
おそらく、暗黙的に使用されるタイムゾーンが原因ですか。 –
多分...私は知らない! –