Làm thế nào để so sánh hai ngày bằng phương thức compareTo trong Java? (How to compare dates with compareTo method in Java?)


So sánh ngày tháng sẽ và luôn là các vấn đề thường xuyên xử lý khi ta làm công việc lập trình, bài này ta sẽ tìm hiểu cách so sánh hài ngày bằng phương thức compareTo trong Java.





Date.compareTo()

Là một phương thức cơ bản thuộc lớp Date của Java được sử dụng để so sánh ngày tháng.


Cú pháp - Syntax

Date1.compareTo(Data2);
  • Trả về 0: khi cả hai ngày là bằng nhau.
  • Trả về 1: khi ngày cần so sánh(Date1) lớn hơn ngày so sánh(Date2).
  • Tra về -1: khi ngày cần so sánh(Date1) nhỏ hơn ngày so sánh(Date2).


Ví dụ - Example

/**
 * @(#)JavaCompreDates.java
 *
 * JavaCompreDates application
 *
 * @author developer.bnson@gmail.com
 * @web: vnlives.net
 * @version 1.00 2014/4/12
 */

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class JavaCompreDates {
   
    public static void main(String[] args) {
       
        try{

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date date1 = sdf.parse("2014-04-20");
            Date date2 = sdf.parse("2014-04-26");

            System.out.println("Date 1: " + sdf.format(date1));
            System.out.println("Date 2: " + sdf.format(date2));

            if(date1.compareTo(date2)>0)
            {
                System.out.println("Result = " + date1.compareTo(date2) + " | Date1 is after Date2.");
            }
           
            else if(date1.compareTo(date2)<0)
            {
                System.out.println("Result = " + date1.compareTo(date2) + " | Date1 is before Date2.");
            }
           
            else if(date1.compareTo(date2)==0)
            {
                System.out.println("Result = " + date1.compareTo(date2) + " | Date1 is equal to Date2.");
            }
           

        }catch(ParseException ex){
            ex.printStackTrace();
        }


    }
}


Kết quả - Result






















No comments:

Post a Comment