2012-02-11 14 views
1

これは簡単な問題のようですが、答えが見つからないようです。私はUTC時間(すなわち1323481111)を持っており、それをルビスクリプトのDateTimeまたはTimeWithZoneオブジェクトに変更したい。私はルビーだけでそれをする方法を見つけていませんが、ActiveSupportを使ってそれを行う方法があるはずです。ActiveSupportを使用してutcからルビーオブジェクトに変換する

require "active_support/all" 

Time.zone.at(1323481111) 

http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html

しかし、それは動作するようには思えない:私は次のようにそれを行うことができるべきであると私には思えます。誰もがutc intをdatetimeオブジェクトに変換する方法を知っていますか?

答えて

2

「機能していない」とはどういう意味ですか? NoMethodError: undefined method 'at' for nil:NilClassのような例外が発生していますか?はいの場合は、tzinfo gemがインストールされており、またtzinfoが必要です。 activesupportの

>> Time.zone.at(1323481111) 
NoMethodError: undefined method 'at' for nil:NilClass 
[..] 
>> require 'tzinfo' #=> true 
>> Time.zone = "Vienna" #=> "Vienna" 
>> Time.zone.at(1323481111) #=> Sat, 10 Dec 2011 02:38:31 CET 01:00 
+0

両方の素晴らしい答え(@Michael Kohlと@steenslag)。私は両方をチェックすることができればいいと思う。しかし、私はActiveSupportを使用して質問を述べたので、これはおそらくより良い答えです。 – cwadding

1

がなければ(またはで):次に、タ​​イムゾーンを設定し、あなたが行ってもいいです

require 'date' 
DateTime.strptime("1323481111",'%s') 

あなたはUTCよりも何か他のものであることをタイムゾーンを設定したい場合は、その後で行きます@マイケルコールの答え。

関連する問題