1

Ruby 1.9.3 と gems タイムゾーン 0.3.1 および tzinfo 0.3.38 を使用しています。タイムゾーンの現在のタイムゾーン コードを取得しようとしています。たとえば、現在は「America/New_York」の場合は「EST」、夏の場合は「EDT」です。ドキュメントには何も見つかりませんでしたが、次のコードでオブジェクトをダンプすると:

ptz = Timezone::Zone.new :zone => 'America/New_York'
hash = {}
ptz.instance_variables.each do |var|
    hash[var.to_s.tr('@','')] = ptz.instance_variable_get var
end
puts hash.to_json

267 個の「ルール」の配列があり、それぞれ「名前」に探している値が含まれるハッシュがあります。名前の値を取得できるように、どのルールが最新であるかを判断する方法を知っている人はいますか?

4

2 に答える 2

1
  require 'tzinfo'
  tz = TZInfo::Timezone.get('America/New_York')
  tz.strftime("%Z")
  => "EST"
于 2013-12-09T19:35:10.193 に答える
0

TZInfo::Timezone.get('America/New_York').period_for_utc(Time.now).abbreviationあなたに略語を与えます。提供された時間。

于 2013-12-09T19:36:36.313 に答える