tzinfo-data + Rails сообщает о неправильном смещении часового пояса для Ирландии - PullRequest
0 голосов
/ 18 октября 2018

Я вижу некоторые странные результаты при попытке получить часовой пояс для Ирландии.

В 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-data?

Редактировать:

Хорошо, у меня есть некоторые результаты без рельсов Использование 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 Ответ

0 голосов
/ 19 октября 2018

Я нашел проблему.Оказывается, Ирландия фактически использует отрицательное смещение зимой, а не положительное смещение летом (в настоящее время это единственная страна в мире, которая делает это).

В последнем выпуске IANA для часовых поясов 2018f правильно используется отрицательное смещениедля Ирландии, в то время как более ранние (выпущенные) версии использовали другой базовый часовой пояс и положительное смещение в течение лета.

...