У меня есть несколько объектов java Date, которые я пытаюсь отсортировать в порядке возрастания дат.
Они загружаются из CSV с использованием простого форматера даты в британском формате «дд / мм / гг ЧЧ: сс» и выводятся в том же формате, например
new SimpleDateFormat("dd/mm/yy HH:ss", Locale.ENGLISH);
Это работает правильно.
Однако, когда я пытаюсь отсортировать их (реализуя интерфейс Comparator), они сортируются неправильно, по-видимому, в формате даты США (мм / дд / гг).
public int compare(CSVEntry t, CSVEntry t1) {
if (t.date.before(t1.date))
return -1;
else if (t.date.after(t1.date))
return 1;
else
return 0;
}
Это не зависит от того, какой метод я использую (Date.after () или Date.before () или Date.compareTo), и независимо от того, какой язык установлен.
Я попытался установить системное значение по умолчанию, используя:
Locale.setDefault(Locale.ENGLISH);
Без эффекта.
Есть идеи?