`
yefei
  • 浏览: 124519 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java 比较两个日期的方法

 
阅读更多
三种方法分别是:

1) by Using classic CompareTo method of Date class.
2) by using equals(), before() and after method of Date class.
3) by using equals(), before() and after method of Calendar class in Java.

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
public class HashtableDemo {
 
    public static void main(String args[]) throws AssertionError, ParseException {
 
        DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
 
        //comparing date using compareTo method in Java
        System.out.println("Comparing two Date in Java using CompareTo method");
        compareDatesByCompareTo(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
        compareDatesByCompareTo(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
        compareDatesByCompareTo(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
 
        //comparing dates in java using Date.before, Date.after and Date.equals
        System.out.println("Comparing two Date in Java using Date's before, after and equals method");
        compareDatesByDateMethods(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
        compareDatesByDateMethods(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
        compareDatesByDateMethods(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
 
        //comparing dates in java using Calendar.before(), Calendar.after and Calendar.equals()
        System.out.println("Comparing two Date in Java using Calendar's before, after and equals method");
        compareDatesByCalendarMethods(df, df.parse("01-01-2012"), df.parse("01-01-2012"));
        compareDatesByCalendarMethods(df, df.parse("02-03-2012"), df.parse("04-05-2012"));
        compareDatesByCalendarMethods(df, df.parse("02-03-2012"), df.parse("01-02-2012"));
 
    }
 
    public static void compareDatesByCompareTo(DateFormat df, Date oldDate, Date newDate) {
        //how to check if date1 is equal to date2
        if (oldDate.compareTo(newDate) == 0) {
            System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
        }
 
        //checking if date1 is less than date 2
        if (oldDate.compareTo(newDate) < 0) {
            System.out.println(df.format(oldDate) + " is less than " + df.format(newDate));
        }
 
        //how to check if date1 is greater than date2 in java
        if (oldDate.compareTo(newDate) > 0) {
            System.out.println(df.format(oldDate) + " is greater than " + df.format(newDate));
        }
    }
 
    public static void compareDatesByDateMethods(DateFormat df, Date oldDate, Date newDate) {
        //how to check if two dates are equals in java
        if (oldDate.equals(newDate)) {
            System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
        }
 
        //checking if date1 comes before date2
        if (oldDate.before(newDate)) {
            System.out.println(df.format(oldDate) + " comes before " + df.format(newDate));
        }
 
        //checking if date1 comes after date2
        if (oldDate.after(newDate)) {
            System.out.println(df.format(oldDate) + " comes after " + df.format(newDate));
        }
    }
 
    public static void compareDatesByCalendarMethods(DateFormat df, Date oldDate, Date newDate) {
 
        //creating calendar instances for date comparision
        Calendar oldCal = Calendar.getInstance();
        Calendar newCal = Calendar.getInstance();
 
        oldCal.setTime(oldDate);
        newCal.setTime(newDate);
 
        //how to check if two dates are equals in java using Calendar
        if (oldCal.equals(newCal)) {
            System.out.println(df.format(oldDate) + " and " + df.format(newDate) + " are equal to each other");
        }
 
        //how to check if one date comes before another using Calendar
        if (oldCal.before(newCal)) {
            System.out.println(df.format(oldDate) + " comes before " + df.format(newDate));
        }
 
        //how to check if one date comes after another using Calendar
        if (oldCal.after(newCal)) {
            System.out.println(df.format(oldDate) + " comes after " + df.format(newDate));
        }
    }
}


Comparing two Date in Java using CompareTo method
01-01-2012 and 01-01-2012 are equal to each other
02-03-2012 is less than 04-05-2012
02-03-2012 is greater than 01-02-2012
Comparing two Date in Java using Date's before, after and equals method
01-01-2012 and 01-01-2012 are equal to each other
02-03-2012 comes before 04-05-2012
02-03-2012 comes after 01-02-2012
Comparing two Date in Java using Calendar's before, after and equals method
01-01-2012 and 01-01-2012 are equal to each other
02-03-2012 comes before 04-05-2012
02-03-2012 comes after 01-02-2012
分享到:
评论

相关推荐

    Java 计算两个日期之间相差的月数

    总的来说,Java提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...

    java中计算两个日期相差几天

    ### Java中计算两个日期相差几天 在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中...

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    - 使用`DateType`类来表示日期,并通过`bool`方法判断两个日期是否相同。 - 通过`ZongTian`方法计算每个日期距离某个参考点(通常是公元0年1月1日)的总天数,从而计算出两日期间的天数差。 ### 2. `DateType` 类的...

    Java中计算两个日期相差天数和比较2日期先后顺序

    3. **比较日期**:调用`compareTo`方法来比较两个日期的先后顺序。如果第一个日期早于第二个日期,则返回负数;如果相等,则返回0;如果晚于第二个日期,则返回正数。 #### 代码优化建议 1. **异常处理**:与前面...

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    java计算两个日期相隔的天数

    在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...

    java计算两个时间相差月数

    java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒

    java 判断两个时间段是否重叠的案例.docx

    "java 判断两个时间段是否重叠的案例" 本文主要介绍了如何在 Java 中判断两个时间段是否重叠的案例。时间段是指具有起始时间和终止时间的时间范围,在实际开发中,我们经常需要判断两个时间段是否存在重叠的情况。...

    比较date类型 判断两个日期的早晚

    然后我们使用`after()`方法比较这两个日期。 ##### 2. `before()` 方法 `public boolean before(Date when)`:此方法用于判断当前日期是否在参数`when`所表示的日期之前。如果当前日期在参数所表示的日期之前,则...

    java比较两个日期相差的天数

    calendar 比较2个日期相差的天数 还可以比较相差的秒数天数

    java实现输入任意两个日期输出月份数和天数

    java实现输入任意两个日期输出月份数和天数,综合考虑闰年、2月等因素,对于整月计算利息或按天数计算利息提供基础工具类。也可以吧内部类独立出来,方便跨包调用,可自行调整。很实用的一个实现。其他百度查到的很...

    java计算两个日期之间的天数集合

    ### 核心知识点:Java计算两个日期之间天数集合的方法 #### 代码解析 在给定的代码片段中,我们看到一个名为`getDate`的静态方法,该方法接收两个字符串参数`start`和`end`,分别代表开始日期和结束日期,格式为`...

    编写一个java程序.,用户从键盘输入两个日期(都包括年月日,程序计算两个日期之间相隔的天数,并输出

    编写一个java程序ex09 功能:用户从键盘输入两个日期(都包括年月日),程序计算两个日期之间相隔的天数,并输出。

    JAVA日期判断方法小结

    该方法使用SimpleDateFormat类将日期字符串解析为Date对象,然后使用getTime方法获取日期的毫秒数,最后使用算术运算符计算两个日期之间的天数。 日期判断是JAVA语言中的一个重要组成部分,掌握这些方法可以帮助...

    java 两个日期的所有天

    可以列出两个日期中间的所有天 20090501, 20090502, 20090503, 20090504, 20090505, 20090506, 20090507, 20090508, 20090509,

    JAVA求两个日期之间相差的天数

    在Java编程中,计算两个日期之间相差的天数是一个常见的任务,这通常涉及到日期类的使用。Java提供了多种处理日期和时间的类,比如`java.util.Date`、`java.util.Calendar`以及`java.time`包中的`LocalDate`等。在本...

    计算两个日期相差的天数

    本文主要介绍了计算两个日期相差的天数的方法,使用 Java 语言实现,并提供了三个相关代码示例。 计算两个日期相差的天数 计算两个日期相差的天数是一个常见的需求,例如计算两个日期之间的时间间隔。在 Java 中,...

    java处理日期合并

    通过比较两个`TimeoffDateDTO`实例的开始时间戳来决定它们的顺序,从而确保了后续处理过程中所有时间段都是按照开始时间升序排列的。 #### 三、日期合并算法详解 日期合并的核心算法实现在`combineDate()`方法中。...

    一行代码判断两个日期是否在同一周

    本文将讨论如何使用C#语言高效地判断两个日期是否在同一周,针对给定的代码进行分析,并提供两种更准确、可读性更强的方法。 首先,让我们回顾一下原始的代码段: ```csharp private bool IsInSameWeek(DateTime ...

    Java 计算日期月差

    计算两日期之间的差,看看两日期之间能差几个月的问题

Global site tag (gtag.js) - Google Analytics