欢迎访问宙启技术站
智能推送

Java中的Date类有哪些常用方法?如何执行日期比较?

发布时间:2023-06-30 18:37:03

Java中的Date类是用于处理日期和时间的类,提供了以下常用方法:

1. Date():无参数的构造方法,返回当前日期和时间。

2. Date(long date):参数为毫秒数的构造方法,返回从1970年1月1日 00:00:00 GMT 开始计算的指定日期。

3. getTime():返回从1970年1月1日 00:00:00 GMT 开始计算到当前Date对象表示的日期的毫秒数。

4. toString():将Date对象转换为字符串形式,默认格式为"EEE MMM dd HH:mm:ss zzz yyyy"。

5. equals(Object obj):判断当前Date对象与指定对象是否相等。

6. before(Date date):判断当前Date对象是否在指定日期之前。

7. after(Date date):判断当前Date对象是否在指定日期之后。

8. compareTo(Date date):比较当前Date对象和指定日期的先后顺序,返回0表示相等,正数表示当前Date对象在指定日期之后,负数表示当前Date对象在指定日期之前。

9. setTime(long time):将Date对象设置为指定毫秒数对应的日期。

10. setYear(int year):设置Date对象的年份。

11. setMonth(int month):设置Date对象的月份(0-11)。

12. setDate(int date):设置Date对象的日期(1-31)。

13. setHours(int hours):设置Date对象的小时数(0-23)。

14. setMinutes(int minutes):设置Date对象的分钟数(0-59)。

15. setSeconds(int seconds):设置Date对象的秒数(0-59)。

要执行日期比较,可以使用以下两种方式:

1. 使用before(Date date)after(Date date)方法进行比较,根据返回的布尔值判断日期先后关系。例如:

Date date1 = new Date();
Date date2 = new Date(System.currentTimeMillis() + 1000); // 延迟1秒
if (date1.before(date2)) {
    System.out.println("date1 在 date2 之前");
} else if (date1.after(date2)) {
    System.out.println("date1 在 date2 之后");
} else {
    System.out.println("date1 和 date2 相等");
}

2. 使用compareTo(Date date)方法进行比较,根据返回的整数值判断日期先后关系。例如:

Date date1 = new Date();
Date date2 = new Date(System.currentTimeMillis() + 1000); // 延迟1秒
int result = date1.compareTo(date2);
if (result < 0) {
    System.out.println("date1 在 date2 之前");
} else if (result > 0) {
    System.out.println("date1 在 date2 之后");
} else {
    System.out.println("date1 和 date2 相等");
}

以上是Date类的常用方法和日期比较的方式。需要注意的是,Java中的Date类已被标记为过时(deprecated),推荐使用java.time包中的新日期-时间API,如LocalDate和LocalDateTime。