2012-05-24 72 views
4

我試圖輸出紅寶石DateTime對象的時區:紅寶石的DateTime人時區輸出

DateTime.parse('2012/05/23').strftime('%Z') 

此輸出"+00:00"。根據文件,它應該返回GMT

我做錯了什麼,或者我發現了一個錯誤?

+0

值得注意的是:我提起了這個錯誤:http://bugs.ruby-lang。組織/問題/ 6491。不是我期待的迴應。 – zombor

+0

我剛剛遇到了這個問題,剛剛發現這篇文章。我需要+09:00才能成爲JST。我甚至可以「告訴」它是JST的對象......當我要求%Z時,我只需要它就可以返回。由於對象和文檔不一致,所以非常混亂。 – makdad

回答

1

DateTime類似乎不支持區域數據作爲區域名稱。然而,Time類正確地做到了這一點。因此,要麼做到這一點:

require 'date' 
require 'time' 

Time.parse('...').strftime('%Z') 

或者,如果你已經在DateTime格式,那麼你的數據:

Time.parse(DateTime.parse('...').to_s).strftime('%Z')