簡體   English   中英

Java 中的日期比較無效

[英]Date comparison in Java not valid

我需要比較 ArrayList 中包含的對象的屬性“日期”。 ArrayList 中包含的對象屬於“Books”類型,每本書都有一個發布日期。 日期以字符串格式給出。

public ArrayList<Book> group; 

我所做的是:

public static Comparator<Book> ComparaisonDate = new Comparator<Book>() {
        SimpleDateFormat data = new SimpleDateFormat("dd/mm/yyyy");
        @Override
        public int compare(Book l1, Book l2) {
            try {
                return data.parse(l1.launchingDate).compareTo(data.parse(l2.launchingDate));
            } catch (ParseException e)  {
                throw new IllegalArgumentException(e);
            }
        }
    };




public void sort(int option) {
        Collections.sort(this.group, Book.ComparaisonDate);
    }
    

當我添加日期為 01/08/2020 和 12/05/2020 的兩本書時,sort() 函數的結果是:

01/08/2020
12/05/2020

結果應該是: 12/05/2020 ,然后01/05/2020 。從我所看到的,它的日子,而不是一個月或一年只比較。 你知道如何解決這個問題嗎? 謝謝

模式中的mm代表 Minutes of the Hour,因此排序實際上是正確的。 你需要MM 有關有效模式,請參閱https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM