2011-06-27 6 views
4

指定したオフセットの現在の曜日を取得するには、TimezoneオフセットをTimeに割り当てる必要があります。 これはレールではないので、これを行うには純粋なRubyフォーマッタ/パーサが必要です。Rubyのタイムゾーンオフセットの問題

ありがとうございました。

答えて

3

これは私が見つけたものです:

require 'date' 
local = DateTime.now 
new_offset = Rational(0, 24) #put the offset you want as first argument 
utc = local.new_offset(new_offset) 
0

タイムゾーンとUTCの間のオフセットを秒単位で返します。

t = Time.gm(2000,1,1,20,15,1) #=> 2000-01-01 20:15:01 UTC 
    t.gmt_offset     #=> 0 
    l = t.getlocal     #=> 2000-01-01 14:15:01 -0600 
    l.gmt_offset     #=> -21600 
+0

しかし、どのように私は、例えばこの時間を変換するかは7オフセット?私の質問は、UTCやマシンの現地時間ではなく、特定のオフセット(明示的に指定)で曜日を取得することです。だから、日付/時刻オブジェクトを作成するときに、どのようにタイムゾーンオフセットを割り当てるのですか? – Mayumi

0
#As a string 
t = Time.new(2011,6,27,14,10,0, "+07:00") 
# or in seconds from UTC 
t = Time.new(2011,6,27,14,10,0, 7*60*60)