Bug #4090
closedTime::new に時差を与えたとき、正しい日付が得られない事がある
Description
=begin
Time::new に時差を与えたとき、正しい日付が得られない事がある。
Time.new(2001,2,28,23,59,30,'-12:00')
#=> 2001-02-29 23:59:30 -1200
と 28日ではなく、29日になります。
時差が、-12:00 である事が原因ではなくて、
ある場合に、new に時差を与えると起るようです。
Time.new(1970,2,28,23,59,30)
#=> 1970-02-28 23:59:30 -1200
Time.new(1970,2,28,23,59,30,'-12:00')
#=> 1970-02-29 23:59:30 -1200
=end
Updated by sorah (Sorah Fukumori) over 13 years ago
=begin
sora_hです。
+1200だからダメっていう感じがしますが…
Time.new(2001,2,28,23,59,30,'+09:00') #=> 2001-02-28 23:59:30 0900
Time.new(2001,2,28,23,59,30,'-09:00') #=> 2001-02-28 23:59:30 -0900
Time.new(2001,2,28,23,59,30,'-13:00') #=> 2001-02-28 23:59:30 -1300
Time.new(2001,2,28,23,59,30,'-12:00') #=> 2001-02-29 23:59:30 -1200
=end
Updated by tadf (tadayoshi funaba) over 13 years ago
=begin
そういう意味ではなく、「new に時差を与えると」と書きましたが、
例で挙げたように、時差が new に与えられていないが、地方時が -12:00 であったからそうなった場合と
new に時差を与えた場合とで結果が異なっているようだ、という事を言っているわけです。
とりあえず、他でも再現が出来たという事は判りました。
=end
Updated by nobu (Nobuyoshi Nakada) over 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r29951.
tadayoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end