2011-05-06 4 views
2

1919 년 9 월 1 일 이전의 날짜로 Ruby 1.9.2에서 시간 객체를 만들면 시간대가 시스템 영역 (+ 0100) 또는 UTC. 이제 문제가 조기 발견 된 것을 알게되었고 원하는 것은 날짜가없는 시간 이었으므로 최근 날짜 만 사용합니다. 하지만이 일이 일어나는 이유를 아는 사람이 있습니까?Ruby Time.new 14 분의 시간대 오프셋을 제공합니다.

ruby-1.9.2-p0 :034 > Time.new(1919,9,1,0,0,0) 
=> 1919-09-01 00:46:24 +0100 
ruby-1.9.2-p0 :035 > Time.new(1919,8,31,23,59,59) 
=> 1919-08-31 23:59:59 +0014 
ruby-1.9.2-p0 :036 > Time.new(1919,8,31,1,0,0) 
=> 1919-08-31 01:00:00 +0014 
+0

'Time.new (1919,9,1,0,0,0)'=>'ArgumentError : 잘못된 인수의 수 (6은 0)' – fl00r

+0

전혀 그런 일이 일어나지 않습니다 :'>> Time.new (1919,9,1,0,0,0) => 1919-09-01 00:00:00 -0500 >> Time.new (1919,8,31,23,59,59) => 1919-08-31 23:59:59 -0500 >> Time.new (1919,8,31,1,0,0) => 1919-08-31 01:00:00 -0500'. 나는 윈도우에서 루비 1.9.2를 사용하고있다. –

+0

나는 루비 1.9.2p180을 사용하고 있기 때문에 p0과 p180 사이에 고정되어있는 문제 일 수도 있다는 것을 알아야한다. –

답변

0

다른 사람들의 의견 :이 정보는 제공하신 정보와 관련하여 재현 할 수 없습니다.

irb(main):001:0> Time.new(1919,8,31,23,59,59) 
#=> 1919-08-31 23:59:59 -0600 

irb(main):002:0> RUBY_DESCRIPTION 
#=> "ruby 1.9.2p180 (2011-02-18) [i386-mingw32]" 

우분투 10.04, 32 비트에 :

ruby-1.9.2-p136 :001 > Time.new(1919,8,31,23,59,59) 
#=> 1919-08-31 23:59:59 -0600 

ruby-1.9.2-p136 :002 > RUBY_DESCRIPTION 
#=> "ruby 1.9.2p136 (2010-12-25) [i686-linux]" 

... 그리고 정확한 패치 수준에 : 윈도우 7 64 비트에

ruby-1.9.2-p0 :001 > Time.new(1919,8,31,23,59,59) 
#=> 1919-08-31 23:59:59 -0600 

ruby-1.9.2-p0 :002 > RUBY_DESCRIPTION 
#=> "ruby 1.9.2p0 (2010-08-18) [i686-linux]" 

제공주십시오 추가 도움말을 보려면 OS 버전 및 비트 수준을 참조하십시오.

관련 문제