Timeオブジェクトがあり、それが表す論理時間を変更せずにタイムゾーンを変更したいと思います。たとえば、時間をUTC-5タイムゾーンに変換することを選択した場合、2015-08-21 15:00:00 + 00:00は2015-08-21 10:00:00-05:00になります。これどうやってするの?
私はRuby2.0を使用しています。Railsを使用していません。
編集:getlocal
@Tasos Stathopoulosはほとんど言及して動作しますが、あなたが呼び出す場合、そのメソッドzone
の結果にあなたが得ますnil
。これは理解できます—タイムオフセットとタイムゾーンの略語の1対1のマッピングがないため、システムはzone
どちらを提供するかを知る方法がありません—しかし、私が指定した特定のゾーンを結果に持たせたいと思います。
Time#getlocal
(http://ruby-doc.org/core-2.0.0/Time.html#getlocal-method)を使用できます。
irb(main):001:0> time = Time.now
=> 2015-08-21 21:45:40 +0300
irb(main):002:0> time.getlocal('-05:00')
=> 2015-08-21 13:45:40 -0500
irb(main):003:0> time = time.getlocal('-05:00')
=> 2015-08-21 13:45:40 -0500
irb(main):004:0> time
=> 2015-08-21 13:45:40 -0500
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加