三种方法分别是:
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提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...
### Java中计算两个日期相差几天 在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中...
- 使用`DateType`类来表示日期,并通过`bool`方法判断两个日期是否相同。 - 通过`ZongTian`方法计算每个日期距离某个参考点(通常是公元0年1月1日)的总天数,从而计算出两日期间的天数差。 ### 2. `DateType` 类的...
3. **比较日期**:调用`compareTo`方法来比较两个日期的先后顺序。如果第一个日期早于第二个日期,则返回负数;如果相等,则返回0;如果晚于第二个日期,则返回正数。 #### 代码优化建议 1. **异常处理**:与前面...
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...
java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒
"java 判断两个时间段是否重叠的案例" 本文主要介绍了如何在 Java 中判断两个时间段是否重叠的案例。时间段是指具有起始时间和终止时间的时间范围,在实际开发中,我们经常需要判断两个时间段是否存在重叠的情况。...
然后我们使用`after()`方法比较这两个日期。 ##### 2. `before()` 方法 `public boolean before(Date when)`:此方法用于判断当前日期是否在参数`when`所表示的日期之前。如果当前日期在参数所表示的日期之前,则...
calendar 比较2个日期相差的天数 还可以比较相差的秒数天数
java实现输入任意两个日期输出月份数和天数,综合考虑闰年、2月等因素,对于整月计算利息或按天数计算利息提供基础工具类。也可以吧内部类独立出来,方便跨包调用,可自行调整。很实用的一个实现。其他百度查到的很...
### 核心知识点:Java计算两个日期之间天数集合的方法 #### 代码解析 在给定的代码片段中,我们看到一个名为`getDate`的静态方法,该方法接收两个字符串参数`start`和`end`,分别代表开始日期和结束日期,格式为`...
编写一个java程序ex09 功能:用户从键盘输入两个日期(都包括年月日),程序计算两个日期之间相隔的天数,并输出。
该方法使用SimpleDateFormat类将日期字符串解析为Date对象,然后使用getTime方法获取日期的毫秒数,最后使用算术运算符计算两个日期之间的天数。 日期判断是JAVA语言中的一个重要组成部分,掌握这些方法可以帮助...
可以列出两个日期中间的所有天 20090501, 20090502, 20090503, 20090504, 20090505, 20090506, 20090507, 20090508, 20090509,
在Java编程中,计算两个日期之间相差的天数是一个常见的任务,这通常涉及到日期类的使用。Java提供了多种处理日期和时间的类,比如`java.util.Date`、`java.util.Calendar`以及`java.time`包中的`LocalDate`等。在本...
本文主要介绍了计算两个日期相差的天数的方法,使用 Java 语言实现,并提供了三个相关代码示例。 计算两个日期相差的天数 计算两个日期相差的天数是一个常见的需求,例如计算两个日期之间的时间间隔。在 Java 中,...
通过比较两个`TimeoffDateDTO`实例的开始时间戳来决定它们的顺序,从而确保了后续处理过程中所有时间段都是按照开始时间升序排列的。 #### 三、日期合并算法详解 日期合并的核心算法实现在`combineDate()`方法中。...
本文将讨论如何使用C#语言高效地判断两个日期是否在同一周,针对给定的代码进行分析,并提供两种更准确、可读性更强的方法。 首先,让我们回顾一下原始的代码段: ```csharp private bool IsInSameWeek(DateTime ...
计算两日期之间的差,看看两日期之间能差几个月的问题