Поведение Solr TimeZone отличается для EST и PST

Я использую Solr-6.2.1 в Windows.

При настройке set SOLR_TIMEZONE=PST в файле solr.in.cmd файл dataimport.properties сохраняет last_index_time в PDT, то есть UTC-07:00.

При настройке set SOLR_TIMEZONE=EST в файле solr.in.cmd файл dataimport.properties сохраняет last_index_time в EST, то есть UTC-05:00.

Но

При настройке set SOLR_TIMEZONE=PDT или set SOLR_TIMEZONE=EDT в файле solr.in.cmd файл dataimport.properties сохраняет last_index_time Часовой пояс сервера.

Я не понял, почему Solr сохраняет Daylight для PST, а не для EST. и почему для PDT и EDT показывает время относительно сервера.


person Thakur Sahab    schedule 31.10.2018    source источник
comment
Вы уверены, что PDT и EDT являются допустимыми идентификаторами? Solr использует библиотеку Java TZ, поэтому я предполагаю, что EDT и PDT сами по себе не считаются допустимыми идентификаторами? Согласно Что такое идентификаторы часовых поясов Java в этом списке нет ни PDT, ни EDT. Попробуйте использовать один из фактических идентификаторов для области, которую вы пытаетесь реализовать.   -  person MatsLindh    schedule 31.10.2018
comment
но для этого требуется PST и EST, поведение для обоих различно. При установке часового пояса как PST это то, что я получаю в dataimport.properties #Wed Oct 31 02:52:45 PDT 2018. Но при установке его как EST результат #Wed Oct 31 04:57:27 EST 2018. Solr экономит 1 час в качестве перехода на летнее время для PST, а для EST - без перехода на летнее время. Это основная проблема.   -  person Thakur Sahab    schedule 31.10.2018
comment
Не все местоположения, использующие EST, используют EDT. Используйте конкретное местоположение и посмотрите, получаете ли вы более разумные результаты.   -  person MatsLindh    schedule 31.10.2018
comment
Спасибо...   -  person Thakur Sahab    schedule 31.10.2018


Ответы (1)


Не используйте EST и PST. Они там из соображений обратной совместимости. Вместо этого отдайте предпочтение тем, которые помечены как «Канонические» в списке здесь. Например:

  • Вместо EST для большинства мест, использующих восточное время в США, используйте America/New_York, а в Канаде используйте America/Toronto.

  • Вместо PST для большинства мест, использующих тихоокеанское время в США, используйте America/Los_Angeles, а в Канаде используйте America/Vancouver.

Их использование позволит вашему программному обеспечению правильно выбрать стандартное время или летнее время, в зависимости от рассматриваемой даты и времени.

person Matt Johnson-Pint    schedule 31.10.2018