Ruby에서 DateTime.now를 UTC로 어떻게 변환합니까?
가있는 경우 d = DateTime.now
'd'를 UTC (적절한 날짜 포함)로 어떻게 변환합니까?
d = DateTime.now.utc
이런!
그것은 Rails에서 작동하는 것처럼 보이지만 바닐라 루비는 아닙니다 (물론 질문이 요구하는 것입니다)
d = Time.now.utc
그러나 작동합니다.
그럴 이유가 DateTime
되지는 Time
? Time
필요한 모든 것을 포함해야합니다.
irb(main):016:0> Time.now
=> Thu Apr 16 12:40:44 +0100 2009
DateTime.now.new_offset(0)
표준 Ruby에서 작동합니다 (즉, ActiveSupport없이).
불행히도 DateTime 클래스에는 Time 클래스 에서이 작업을 수행 할 수있는 방법이 없습니다. 다음과 같이 DateTime 객체를 UTC로 변환 할 수 있습니다.
d = DateTime.now
d.new_offset(Rational(0, 24))
다음을 사용하여 UTC에서 현지 시간으로 다시 전환 할 수 있습니다.
d.new_offset(DateTime.now.offset)
d
UTC 시간의 DateTime 객체는 어디에 있습니까? 다음과 같이 만들 수 있습니다.
class DateTime
def localtime
new_offset(DateTime.now.offset)
end
def utc
new_offset(Rational(0, 24))
end
end
다음 irb 세션에서이를 확인할 수 있습니다.
d = DateTime.now.new_offset(Rational(-4, 24))
=> #<DateTime: 106105391484260677/43200000000,-1/6,2299161>
1.8.7 :185 > d.to_s
=> "2012-08-03T15:42:48-04:00"
1.8.7 :186 > d.localtime.to_s
=> "2012-08-03T12:42:48-07:00"
1.8.7 :187 > d.utc.to_s
=> "2012-08-03T19:42:48+00:00"
DateTime 개체에는 -04 : 00 (동부 표준시)이 있습니다. 나는 -07 : 00으로 태평양 표준시에 있습니다. localtime
앞에서대로 호출 하면 DateTime 개체가 현지 시간으로 변환됩니다. utc
개체를 호출 하면 UTC 방식으로 변환됩니다.
당신이 원하는 경우에 당신은 ENV 설정할 수 있습니다를 Time.now
및 DateTime.now
UTC 시간에 응답 할 수 있습니다.
require 'date'
Time.now #=> 2015-11-30 11:37:14 -0800
DateTime.now.to_s #=> "2015-11-30T11:37:25-08:00"
ENV['TZ'] = 'UTC'
Time.now #=> 2015-11-30 19:37:38 +0000
DateTime.now.to_s #=> "2015-11-30T19:37:36+00:00"
시도해 목적. Ruby에서 작동합니다.
DateTime.now.to_time.utc
irb에서 :
>>d = DateTime.now
=> #<DateTime: 11783702280454271/4800000000,5/12,2299161>
>> "#{d.hour.to_i - d.zone.to_i}:#{d.min}:#{d.sec}"
=> "11:16:41"
시간을 utc로 변환합니다. 그러나 게시 된대로 시간 만 사용하면 다음을 사용할 수 있습니다.
Time.now.utc
바로 가져 오기 오세요.
DateTime의 표현은 Time 클래스에서 구문 분석 할 수 있습니다.
> Time.parse(DateTime.now.to_s).utc
=> 2015-10-06 14:53:51 UTC
참고 URL : https://stackoverflow.com/questions/755669/how-do-i-convert-datetime-now-to-utc-in-ruby
'IT' 카테고리의 다른 글
클래스 클래스 JavaScript (0) | 2020.09.08 |
---|---|
PHP의 Try / Catch 블록이 예외를 적용하지 않습니다. (0) | 2020.09.08 |
UIActivityIndicator의 크기를 어디에 있습니까? (0) | 2020.09.08 |
Flash가 설치되어 있는지 확인하고있는 경우 사용자에게 알리는 숨겨진 div를 표시해야 할 것입니까? (0) | 2020.09.08 |
C #의 .resx 파일에서 읽기 읽기 (0) | 2020.09.08 |