2013-04-15 4 views
0

제안 모델이 있습니다. 내가 명령 줄에서 액세스 할 때, 다음과 같은 형식으로 표시됩니다 : 내가 기대하는 것처럼레일즈, 올바른 시간대에서 날짜 시간을 얻는 방법?

이 출력에서 ​​
1.9.3p392 :058 > o = Offer.last 
=> #<Offer id: 15, title: "Testing", valid_from: "2013-04-12 09:00:00", valid_until: "2013-04-12 14:00:00", created_at: "2013-04-12 18:31:54", updated_at: "2013-04-12 18:31:54"> 

, valid_fromvalid_until가 포맷됩니다.

1.9.3p392 :059 > o.valid_from 
    => Fri, 12 Apr 2013 05:00:00 EDT -04:00 

문제는 내가 app/models/offer_model.rb의 내부가이 기능을 함께 제공 : 내가 직접 액세스 할 때 그러나, 나는 다른 무언가를 얻을

def start_hour 
    self.valid_from.strftime('%l').to_i unless self.valid_from.nil? 
    end 

나는 위의 모델이 명령을 실행 출력은 5입니다. 이 경우에는 9을 반환 할 것으로 예상됩니다. 이 경우에 시간대에 맞게 조정 된 시간을 반환하려면 어떻게해야합니까? start_hour?

답변

0

config/application.rb에서 어떤 표준 시간대를 사용하고 있습니까? Rails는 인쇄 된 날짜를이 파일에 설정된 표준 시간대로 조정합니다.

+0

config.time_zone = '설정 파일 – GSto

+0

의'config.time_zone ='동부 표준시''<- 그럼 이건 - [timezones] (http://www.timeanddate.com/library/abbreviations/timezones)입니다. /na/edt.html) time_zone을 UTC로 변경해보십시오 (또는 기본 설정은 UTC이므로이 라인을 주석으로 처리하십시오). – konole

관련 문제