2011-08-15 7 views
0

나는 사용자 시간대와 해당 시간대에 배달되기를 원하는 시간을 수집합니다.여전히 시간대 및 전환에 대해 혼동을 많이받습니다.

내 응용 프로그램이 Bangkok Time을 사용하도록 설정되었습니다.

application.rb

나는 사용자가 내 시간대에 상대적으로 진입 한 시간을 저장할
config.time_zone = 'Bangkok' 

.

그래서 사용자가 다음과 같은 선택 예를 들어 말 :

time = "6:00" 
timezone = "(GMT-10:00) Hawaii" 

내가 내 응용 프로그램의 시간으로이 시간을 변환하고 데이터베이스에 저장합니다.

6AM 하와이 시간대를 방콕에있는 시간으로 변환하려면 어떻게해야합니까?

답변

3

우리가 설명하기 위해 예를 사용하자 : 다음

Time.zone = "Hawaii" 

당신 : 당신이해야 할 첫번째 일은 사용자가 고른 시간대에 응용 프로그램의 시간대를 설정

config.time_zone = 'Bangkok' 
time = "6:00" 
timezone = "Hawaii" 

시간대를 파싱하려면이 새로운 표준 시간대를 사용하십시오.

hawaii_time = Time.zone.parse("6:00") 

우리는 비슷한을 얻을(: 00을 의미 올바른지 우리는 HST -10이) :

local_time = hawaii_time.in_time_zone(Rails.configuration.time_zone) 

경우 :

Mon, 15 Aug 2011 06:00:00 HST -10:00 

이제 앱의 시간대로 변환 레일을 in_time_zone 방법을 사용

Mon, 15 Aug 2011 23:00:00 ICT +07:00 

우리는 이제 다시 우리의 응용 프로그램의 시간대를 재설정 할 수 있습니다 : 우리는 우리가 비슷한을 얻을 것이다 밖으로 local_time 인쇄 (: 00 방콕에 대한 올바른 우리는 ICT 07이) 원래 값 :

Time.zone = Rails.configuration.time_zone 
+0

와우 스컬 크는 내가 본 것 중에 가장 훌륭하게 설명 된 답변입니다. 절대적으로 굉장합니다. 많이 고마워. – chell

+0

이 답변을 @chell에 투표 하시겠습니까? –

+0

THanks Joh. 나는 그것을 투표했다. 미안하지만, 난 정말 안돼. – chell

관련 문제