2012-06-30 9 views
4

내 목표는이 이전에 여기서 논의 된이상한 루비 행동

날짜 시간 인스턴스에서 시간 인스턴스를 얻는 것입니다 그리고 난 아직도 혼란 스러워요 : Convert to/from DateTime and Time in Ruby

나를 위해 IRB 실행 루비에 루비 같은 플랫폼 레일 콘솔 V 3.2.3 작업시 1.9.3p0은 (2011-10-30 수요일 수정 33570) x86_64에-darwin11.2.0]는 것을 완벽 그러나

1.9.3p0 :001 > require 'Date' 
=> true 
1.9.3p0 :002 > require 'Time' 
=> true 
1.9.3p0 :003 > t=DateTime.now 
=> #<DateTime: 2012-07-01T01:57:32+05:30 ((2456109j,73652s,621060000n),+19800s,2299161j)> 
1.9.3p0 :004 > t2=t.to_time 
=> 2012-07-01 01:57:32 +0530 
1.9.3p0 :005 > t.class 
=> DateTime 
1.9.3p0 :006 > t2.class 
=> Time 
1.9.3p0 :007 > 

작동

1.9.3p0 :001 > t=DateTime.now 
=> Sun, 01 Jul 2012 02:00:00 +0530 
1.9.3p0 :002 > t.class 
=> DateTime 
1.9.3p0 :003 > t2=t.to_time 
=> Sun, 01 Jul 2012 02:00:00 +0530 
1.9.3p0 > t2.class 
=> DateTime 

레일에서 DateTime의 Time 인스턴스를 가져 오려면 어떻게해야합니까? Rails documentation for DateTime.to_time()에 따르면

답변

5

,

것은 자기가 0 이외의 오프셋 경우, 자기는

는, 오프셋 0으로 변경 DateTime.utc()를 사용하려면 변경되지 않은 반환됩니다.

1.9.3p194 :005 > t3=t2.utc 
=> Sat, 30 Jun 2012 20:43:21 +0000 
1.9.3p194 :006 > t3.offset 
=> (0/1) 
1.9.3p194 :007 > t4=t3.to_time 
=> 2012-06-30 20:43:21 UTC 
1.9.3p194 :008 > t4.class 
=> Time 
+0

답변 해 주셔서 감사합니다. Ruby 1.9에 대한 버그 리포트를 찾고 있었는데, Rails 라이브러리가 기본 Ruby 인터페이스를 깨뜨리는 끔찍한 결정으로 밝혀 졌을 때 ... –