tzinfo-data + Rails сообщает о неправильном смещении часового пояса для Ирландии
Я вижу странные результаты, пытаясь найти часовой пояс для Ирландии.
В Mac OS X (без tzinfo-данных)
include ActionView::Helpers::FormOptionsHelper
time_zone_options_for_select.split.select { |opt| opt =~ /Dublin/ }
=> ["value=\"Dublin\">(GMT+00:00)", "Dublin</option>"]
Тогда на Ubuntu я получаю:
=> ["value=\"Dublin\">(GMT+01:00)", "Dublin</option>"]
Затем в Mac OS X с "tzinfo-data" я получаю:
=> ["value=\"Dublin\">(GMT+01:00)", "Dublin</option>"]
Ирландия имеет GMT+0 (смещения не включают DST, Лондон в настоящее время сообщает +0 и Мадрид +1, но, как я пишу, оба используют +1 и +2 (BST и CEST))
Почему я получаю GMT+1 в Ubuntu или с tzinfo-данными?
Редактировать:
Хорошо, у меня есть некоторые результаты без рельсов Использование tzinfo-data
1.2018.4
> require 'tzinfo/data'
> TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset
=> 0
с помощью tzinfo-data
1.2018.5
> require 'tzinfo/data'
> TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset
=> 3600
1 ответ
Я нашел проблему. Оказывается, Ирландия фактически использует отрицательное смещение зимой, а не положительное смещение летом (в настоящее время это единственная страна в мире, которая делает это).
В последней версии часового пояса IANA 2018f правильно используется отрицательное смещение для Ирландии, тогда как в более ранних (выпущенных) версиях использовался другой базовый часовой пояс и положительное смещение в течение лета.