Date的时间比较

Date.before()、Date.after()、Date.equals()

获取本地时间和指定时间进行比较,此处使用了date时间比较的after方法,代码如下

public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        // 获取当天时间的第二天
        Calendar instance = Calendar.getInstance();
        instance.setTime(new Date());
        instance.add(Calendar.DATE, 1);
        String format = simpleDateFormat.format(instance.getTime());
        Date now = simpleDateFormat.parse(format);
        String string = "2020-11-01";
        Date parse = simpleDateFormat.parse(string);
        System.out.println(now.after(parse));
    }

控制台打印输出 false

date1.before(date2) 此方法判断date1时间在date2时间之前,结果返回类型是boolean类型

date1.after(date2) 此方法判断date1时间在date2时间之后,结果返回类型是boolean类型

date1.equals(date2) 此方法判断date1时间和date2时间是否相等,结果返回类型是boolean类型

Date.compareTo()

java.util.Date提供了在java中比较两个日期的经典方法compareTo()

如果两个日期相等,则返回值是0

如果date1在date2时间之后,则返回值大于0

如果date1在date2时间之前,则返回值小于0

public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = simpleDateFormat.parse("2020-10-15");
        Date date2 = simpleDateFormat.parse("2020-10-30");
        System.out.println(date1.compareTo(date2));
    }

控制台打印输出 -1

Calender.before()、Calender.after()、Calender.equals()

使用java.util.Calendar比较两个Date日期

public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = simpleDateFormat.parse("2020-10-15");
        Date date2 = simpleDateFormat.parse("2020-10-30");
        Calendar instance1 = Calendar.getInstance();
        Calendar instance2 = Calendar.getInstance();
        instance1.setTime(date1);
        instance2.setTime(date2);
        System.out.println(instance1.after(instance2));
    }

控制台打印输出 false

java8新增日期比较方法

在java8中,可以使用新的isBefore()、isAfter()、isEqual()、compareTo()来比较LocalDate、LocalTime、LocalDateTime

无法比较Date

public static void main(String[] args) throws ParseException {
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate date1 = LocalDate.of(2020, 10, 15);
        LocalDate date2 = LocalDate.of(2020, 10, 30);
        dateTimeFormatter.format(date1);
        dateTimeFormatter.format(date2);
        System.out.println(date1.isAfter(date2));
    }

控制台打印输出 false

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页