java.util.Date
не хранит информацию о часовом поясе.
Чтобы сохранить часовой пояс, используйте ZonedDateTime
или OffsetDateTime
(Java 8 +).
Поскольку ваша строка даты - ISO 8601 , вам даже не нужно указывать формат даты.
ZonedDateTime zdt = ZonedDateTime.parse("2017-06-14T04:00:00-08:00");
System.out.println(zdt); // prints: 2017-06-14T04:00-08:00
OffsetDateTime odt = OffsetDateTime.parse("2017-06-14T04:00:00-08:00");
System.out.println(odt); // prints: 2017-06-14T04:00-08:00
Для pre-Java 8 используйте ThreeTen-Backport :
ThreeTen-Backport обеспечивает обратную передачу Java SE 8 date- классы времени для Java SE 6 и 7.
blockquote>
Возможно, вы захотите посмотреть на «расстояние» меры - см. Ответы на этот вопрос Редактировать сходство расстояний в Lucene / Solr