2012-09-04 59 views
1

我有一個時區「聖地亞哥」的問題。智利從9月1日改爲白天(格林威治標準時間-3)。Rails TimeZone錯誤?

Time.now.in_time_zone( 「聖地亞哥」) =>週二,2012年9月4日10:57:43 CLT -04:00 < < - 錯了,應該是11點57分43秒CLT -03:00

任何想法?

謝謝。

+0

我得到星期二,2012年9月4日12時24分38秒CLST -03:00。你有沒有嘗試更新你的tzinfo寶石? –

+0

謝謝弗雷德裏克。我有一箇舊的tzinfo寶石。 – JorgeGS

回答

1

時區數據由tzdata gem提供。 Rails需要一個相當新的版本(對於Rails 3.2.8,iirc至少爲0.3.31),但由於時區定義相當短暫,有時您需要手動更新它們。在你的情況下,你至少需要0.3.32,其中包括智利夏令時的變化。在寫這個答案的時候,當前版本的tzdata是0.3.33。

要強制的tzdata的更新版本,只需添加到您的Gemfile

gem 'tzdata', '~> 0.3.33' 
+0

感謝Holger,我將tzinfo寶石更新爲0.3.33。 – JorgeGS

+0

如果此答案解決了您的問題,請[接受它](http://meta.stackexchange.com/a/5235)。 –