Ruby/Rails에서 UTC DateTime을 다른 시간대로 변환하려면 어떻게해야합니까?레일 : UTC DateTime을 다른 시간대로 변환
답변
time.in_time_zone(time_zone)
예 :
zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)
하거나
Time.now.in_time_zone("Central Time (US & Canada)")
당신은 수행하여 ActiveSupport 시간대의 이름을 찾을 수 있습니다
ActiveSupport::TimeZone.all.map(&:name)
# or for just US
ActiveSupport::TimeZone.us_zones.map(&:name)
을 ActiveSupport의 TimeWithZone 객체를 시도 manipul TimeZone과 ated. 또한 ActiveSupport는 UTC 시간을 지정된 TimeZone 시간대로 변환하는 in_time_zone 메소드를 제공합니다. mckeed의 대답은 코드를 보여줍니다.
수업 시간에 TimeWithZone을 가져 오는 구문은 무엇입니까? 아니면 Rails에서 기본적으로 가져올 수 있습니까? –
나는 당신이 기본적으로 그것을 얻는다고 믿는다. mckeed에는 필요한 코드가 있지만 irb에서는 볼 수 없습니다. Rails에서 실행해야합니다. – Fred
네가 맞아 - 고마워, 프레드 - 레일즈는 기본적으로 제공된다. 나는 빨대를 움켜 잡고 그것을 irb에서 작동 시키려고 노력했다. –
나는 레일 4 simple_form을 사용하고 난 그냥 마이그레이션와
<%= f.input :time_zone, :as => :time_zone %>
로 입력 필드를 추가
class AddTimeZoneColumnToTextmessage < ActiveRecord::Migration
def change
add_column :textmessages, :time_zone, :string
end
end
이런 경우에, 당신은 레일에 액티브 오브젝트를 처리하는 경우 .
에서 설명 config.time_zone
자세한 내용에 설정된 기본 시간대를 무시 요청별로 시간대에 대한 Time.use_zone
을 사용하는 것이 좋습니다 수 있습니다 Time.zone
경우 그 다음 원하는 시간대의 당신 내가 Time.now.in_time_zone ('CST')을하려고 할 때 IRB에서 @date.to_time.to_datetime
> @date
=> Tue, 02 Sep 2014 23:59:59 +0000
> @date.class
=> DateTime
> @date.to_time
=> 2014-09-02 12:59:59 -1100
> @date.to_time.to_datetime
=> Tue, 02 Sep 2014 12:59:59 -1100
레일 5에서 작동하지 않습니다 Time.zone # => 유럽/파리 my_date # => Wed, 29 3 월 201 19:00:20 +0200 my_date.to_time # => "2017-03-29T17 : 00 : 20.000 + 00 : 00 " my_date.to_time.to_datetime # => Wed, 29 Mar 2017 17:00:20 +0000 ' –
- 1. 다른 표준 시간대로 .NET 2.0 DateTime.ToString() 변환
- 2. UTC 날짜를 시간대로 변환하는 방법은 무엇입니까?
- 3. 다른 표준 시간대에서 UTC 시간을 다른 표준 시간대로 변환하는 방법
- 4. 한 시간대에서 다른 시간대로 변환 (네이티브 C++)
- 5. 사용자가 시간대로 변환하는 루비 레일
- 6. 현지 시간대에 관계없이 TDateTime을 다른 시간대로 변환
- 7. 파이썬 : 다른 시간대로 현지 시간 변환
- 8. ASP.NET MVC에서 클라이언트 시간대로 datetime을 표시
- 9. Unix 타임 스탬프를 Locale 시간대로 변환
- 10. pytz utc 변환
- 11. 보고서 작성기 - datetime을 현지 시간으로 변환
- 12. 현재 UTC 시간과 상수 다른 UTC 시간의 차이점을 어떻게 해결합니까?
- 13. 가변 시간대를 사용하여 PHP에서 UTC 변환
- 14. NSDates에서 다른 시간대로 비교합니까?
- 15. C# DateTime을 문자열로 변환
- 16. DateTime을 영어에서 스페인어로 변환
- 17. C# 다른 시간대로 날짜의 시작을 정의하십시오.
- 18. 하스켈 변환 ByteString을 UTC 시간으로 변환
- 19. .NET 2.0 DateTime UTC 변환
- 20. XML Datetime을 SQL Datetime으로 변환
- 21. mssql datetime을 mysql datetime으로 변환
- 22. .NET datetime을 SQlite datetime으로 변환
- 23. DateTime을 String 값으로 변환 하시겠습니까?
- 24. 웹 사이트의 MySQL에서 UTC 사용
- 25. 내 DateTime을 UTC로 변환하는 데 문제가 있습니다.
- 26. 문자열에서 datetime을 변환 할 때 변환하지 못했습니다.
- 27. UTC 시간 문자열을 Unix 시간으로 변환
- 28. UTC 오프셋을 사용하는 문자열을 datetime 객체로 변환
- 29. UTC 시간을 전화로 변환 현지 시간
- 30. 문자열에서 datetime을 변환 할 때 변환이 실패했습니다.
을 사용할 수 있습니다, 나는 "정의되지 않은 메서드 'in_time_zone'의"오류가 발생합니다. 레일스 클래스가 작동하려면이 클래스가 필요합니까? –
어떤 레일 버전을 사용하고 있습니까? Time.zone.now.in_time_zone (...)을 수행하면 작동합니까? – mckeed
코드 샘플을 보내 주셔서 감사합니다. 그것은 Fred의 코멘트와 함께 그것을 정리했다. 나는 많은 것들을 잘못하고 있었고, 설명하기조차 할 수 없다 :-) –