lucene dateToString, stringToDate - PullRequest
       0

lucene dateToString, stringToDate

4 голосов
/ 16 августа 2010

Я нахожусь в локали, где время на два часа больше GMT ​​+ 2.Когда я кодирую дату, используя новый GregorianCalendar (y, m, d, d, h, m, s), а затем использую DateTools.dateToString с разрешением DAY, я получаю день раньше.

Кодировка 12:00 полночь 1,1,1970 Я получаю 31 января (22:00), что явно неверно.Проблема еще хуже, потому что stringToDate не возвращает мне тот же номер.

По-видимому, это чудовищное замешательство является намеренным.

Как правильно компенсировать это так, чтобы рождениедата действительно может быть найдена правильно.

Спасибо

1 Ответ

3 голосов
/ 16 августа 2010

Какой конструктор вы используете для создания GregorianCalendar?Если вы не укажете часовой пояс, он будет использовать по умолчанию, то есть часовой пояс компьютера, на котором вы запускаете код.

Убедитесь, что объект Date, который вы передаете в dateToString, являетсянормализовано по Гринвичу правильно.Что касается поиска, вам нужно также нормализовать запросы даты по Гринвичу.

Невозможно обойти нормализацию - вы не знаете, где будет выполняться код, поэтомувам нужно закрепить свои даты, нормализуя до GMT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...