Java 比较日期

Java 比较日期

Date类表示一个特定的时间瞬间,精度为毫秒。java.util包中的Date类实现了Serializable、Cloneable和Comparable接口。它提供了构造函数和方法来处理java中的日期和时间。

以下是在java中比较日期的方法

方法-1:使用Date.compareTo()

涉及的步骤

  1. 为SimpleDateFormat类创建一个对象,用yyyy-mm-dd格式初始化它。
  2. 使用上述对象初始化日期变量。
  3. 使用date类的compareTo()函数对日期进行比较。
  4. 打印结果
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
class GFG {
    public static void main (String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
        Date date1 = simpleDateFormat.parse("2022-12-06");
        Date date2 = simpleDateFormat.parse("2022-12-06");
        System.out.println(date2.compareTo(date1));
    }
}

输出

0

方法 – 2:使用Date.before(), Date.after()和Date.equals()

这个方法比第一个方法简单。

所涉及的步骤

  1. 为SimpleDateFormat类创建一个对象,用yyyy-mm-dd格式初始化它。
  2. 使用上述对象初始化日期变量。
  3. 使用date类的after()和before函数对日期进行比较。
  4. 打印结果。
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
class GFG {
    public static void main (String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
        Date date1 = simpleDateFormat.parse("2022-12-06");
        Date date2 = simpleDateFormat.parse("2022-12-05");
 
        System.out.println(date1.before(date2));
        System.out.println(date1.equals(date2));
        System.out.println(date1.after(date2));
    }
}

输出

false
false
true

方法 – 3: 使用Calendar.before( ) ,Calendar.after()和Calendar.equals()

涉及的步骤

  1. 为SimpleDateFormat类创建一个对象,用yyyy-mm-dd格式初始化它。
  2. 使用上述对象初始化日期变量。
  3. 使用getinstance()函数初始化日历类对象。
  4. 使用日历类的setTime()函数给日历对象赋值。
  5. 使用日历类的after()和before函数来进行日期的比较。
  6. 打印结果。
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
class GFG {
    public static void main (String[] args) throws ParseException{
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
        Date date1 = simpleDateFormat.parse("2022-12-06");
        Date date2 = simpleDateFormat.parse("2022-12-05");
 
        Calendar calendar1 = Calendar.getInstance();
        Calendar calendar2 = Calendar.getInstance();
 
        calendar1.setTime(date1);
        calendar2.setTime(date2);
 
        System.out.println(calendar1.before(calendar2));
        System.out.println(calendar1.equals(calendar2));
        System.out.println(calendar1.after(calendar2));
    }
}

输出

false
false
true

方法-4:使用Java 8的isBefore()、isAfter()、isEqual()和compareTo()方法 :

在Java 8中,isBefore()、isAfter()、isEqual()和compareTo()被用来比较LocalDate、LocalTime和LocalDateTime。

涉及的步骤

  1. 创建LocalDate类的对象。
  2. 使用date类的isAfter()、isBefore()和isEqual()函数来比较日期。
  3. 打印结果。
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
 
class GFG {
    public static void main (String[] args) throws ParseException {
        LocalDate date1 = LocalDate.now();
        LocalDate date2 = date1.minusDays(1);
 
        System.out.println(date1.isBefore(date2));
        System.out.println(date1.isEqual(date2));
        System.out.println(date1.isAfter(date2));
    }
}

输出

false
false
true

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程