📜  Java.util.Date类(1)

📅  最后修改于: 2023-12-03 15:31:35.133000             🧑  作者: Mango

Java.util.Date类介绍

Java.util.Date类是Java语言中用于表示时间的类。它可以表示自格林威治时间(Epoch 时间,1970年1月1日00:00:00)以来的一段时间,精确到毫秒。它是Java平台核心库中最常用的时间类型中之一。

构造方法

Date类提供了多种构造方法用于创建日期对象。其中包括:

  • Date():使用当前日期和时间创建日期对象。
  • Date(long date):使用自格林威治时间以来的毫秒数创建日期对象。
常用方法

Date类提供了多种方法用于操作和获取日期时间信息。其中包括:

  • getTime():获取自 1970 年 1 月 1 日 00:00:00 GMT 以来自 Date 对象表示的毫秒数。
  • toString():将此日期转换为人类可读的字符串表示形式。
  • before(Date when):如果此 Date 表示的时间在 when 表示的时间之前,则返回 true。
  • after(Date when):如果此 Date 表示的时间在 when 表示的时间之后,则返回 true。
  • compareTo(Date anotherDate):比较此 Date 与另一个 Date。当此 Date 在另一个 Date 之前时,返回负数;当此 Date 在另一个 Date 之后时,返回正数;否则返回 0。
  • equals(Object obj):比较此 Date 与给定对象是否相等。
  • setTime(long time):将此 Date 对象设置为表示给定毫秒数的日期和时间。
注意事项
  • Date类中的大部分方法都已过时,建议不要直接使用,而是使用Calendar类或者更好的第三方库来处理日期操作。
  • Date类处理的是毫秒级别的时间,但是Java 8 引入的新的时间API(java.time包),更好地处理了日期时间的问题。
示例
import java.util.Date;

public class DateDemo {

    public static void main(String[] args) {
        // 创建一个表示系统当前时间的日期对象
        Date now = new Date();
        System.out.println(now.toString());

        // 使用时间戳创建日期对象
        long time = System.currentTimeMillis();
        Date date = new Date(time);
        System.out.println(date.toString());

        // 比较两个日期对象的大小
        if (now.after(date)) {
            System.out.println("now是日期date的后面");
        } else {
            System.out.println("now是日期date的前面");
        }
    }
}

输出结果为:

Wed Dec 22 00:22:50 CST 2021
Wed Dec 22 00:22:50 CST 2021
now是日期date的后面
参考文献
  1. Java 11文档 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html
  2. Java中的日期和时间 – Date, Calendar及如何使用新的Java 8日期API https://www.cnblogs.com/dolphin0520/p/3789948.html