오름차순으로 정렬하려고 시도하는 Java Date 객체가 여러 개 있습니다.Java Date 객체를 정렬 및 비교하면 예기치 않은 결과가 발생합니다.
영국식 "dd/mm/yy HH : ss"형식의 간단한 날짜 포맷터를 사용하여 CSV에서로드되며 같은 형식으로 출력됩니다.
new SimpleDateFormat("dd/mm/yy HH:ss", Locale.ENGLISH);
올바르게 작동합니다.
그러나 Comparator 인터페이스를 구현하여 이들을 정렬하려고 시도하면 미국 날짜 형식 (mm/dd/yy)으로 잘못 정렬됩니다.
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;
}
이없이 I는 (Date.after() 또는 Date.before() 또는 Date.compareTo)을 사용하는 어떤 방법과 관계없이 로케일로 설정 한 것에있다.
내가 사용하여 로컬 시스템 기본 설정을 시도했습니다 : 없음 효과에
Locale.setDefault(Locale.ENGLISH);
.
아이디어가 있으십니까?