2008-09-19 5 views
5

사용자의 시간대에서 날짜와 시간을 처리해야하는 Rails 애플리케이션을 작성 중입니다. 우리는 최근에 그것을 레일스 2.1로 마이그레이션하고 표준 시간대 지원을 추가했지만 Time # utc을 사용하여 그 시간과 비교하는 많은 경우가 있습니다. 그것은 원래의 Time 객체와 비교하는 것과 같지 않습니까?Rails 2.1에서 Time # utc를 사용하는 것이 적절한 경우는 언제입니까?

Rails 2.1에서 Time # utc를 사용하는 것이 적절한 경우는 언제입니까? 부적절한시기는 언제입니까?

답변

7

은 당신이 설정 한 경우 :

당신의 environment.rb에에서
config.time_zone = 'UTC' 

(기본값 거기는) 다음 시간은 자동적으로 UTC로 변환 얻을 것이다 때 액티브를 저장합니다.

사용자의 표준 시간대에 Time.zone (before.filter on before_filter on 평소 위치)을 설정하면 모든 시간이 자동으로 utc 저장소에서 사용자의 시간대로 변환됩니다.

Time.now와 조심하십시오.

또한 참조 :

http://mad.ly/2008/04/09/rails-21-time-zone-support-an-overview/

http://errtheblog.com/posts/49-a-zoned-defense을 - 당신이 영역

하는 데 도움이

희망을 감지하려면 여기를 JS를 사용할 수 있습니다.

0

응용 프로그램에 여러 시간대의 사용자가있는 경우 시간대는 항상 UTC로 저장해야합니다 (모든 표준 시간대가 작동하지만 가장 일반적인 규칙을 따라야합니다).

사용자가 현지 시간으로 입력하도록 허용하지만 UTC로 변환하여 저장 (비교 및 조작)합니다. 그런 다음 UTC에서 다시 변환하여 각 사용자의 현지 시간대로 표시하십시오.

관련 문제