20230522 java.util.Date

发布时间 2023-09-05 09:19:36作者: 流星<。)#)))≦

介绍

  • java.util.Date
  • public class Date implements java.io.Serializable, Cloneable, Comparable<Date>
  • Date 类代表一个特定的时间点,精度为毫秒
  • 在 JDK 1.1 之前,类Date有两个额外的功能。它允许将日期解释为年、月、日、小时、分钟和秒值。它还允许格式化和解析日期字符串。不幸的是,这些功能的 API 不适合国际化。从 JDK 1.1 开始,应该使用 Calendar 类在日期和时间字段之间进行转换,应该使用 DateFormat 类来格式化和解析日期字符串。 Date中的相应方法已弃用。
  • 尽管Date类旨在反映协调世界时 (UTC),但它可能不会完全这样做,具体取决于 Java 虚拟机的主机环境。在所有情况下,几乎所有现代操作系统都假定 1 天 = 24 × 60 × 60 = 86400 秒。然而,在 UTC 中,大约每隔一两年就会多出一秒,称为“闰秒”。闰秒始终添加为当天的最后一秒,并且总是在 12 月 31 日或 6 月 30 日。例如,由于添加了闰秒,1995 年的最后一分钟长 61 秒。大多数计算机时钟都不够准确,无法反映闰秒的区别。
  • 一些计算机标准是根据格林威治标准时间 (GMT) 定义的,它相当于世界时间 (UT)。 GMT 是该标准的“民间”名称; UT 是同一标准的“科学”名称。 UTC 和 UT 之间的区别在于,UTC 基于原子钟,而 UT 基于天文观测,对于所有实际用途而言,这都是一根看不见的细毛。因为地球自转不均匀(它以复杂的方式减速和加速),UT 并不总是均匀流动。根据需要将闰秒引入 UTC,以便将 UTC 保持在 UT1 的 0.9 秒以内,UT1 是应用了某些更正的 UT 版本。还有其他时间和日期系统;例如,基于卫星的全球定位系统 (GPS) 使用的时标与 UTC 同步,但不针对闰秒进行调整。
  • 一些计算机标准是根据格林威治标准时间 (GMT) 定义的,它相当于世界时间 (UT)。 GMT 是该标准的“民间”名称; UT 是同一标准的“科学”名称。 UTC 和 UT 之间的区别在于,UTC 基于原子钟,而 UT 基于天文观测,区别非常小,几乎不需要分辨。
  • 在接受或返回年、月、日、小时、分钟和秒值的类Date的所有方法中,使用以下表示:
    • y 年由整数 y - 1900 表示
    • 月份用0到11的整数表示; 0 是一月,1 是二月,依此类推;因此 11 是十二月
    • 日期(月中的某天)通常由 1 到 31 之间的整数表示
    • 小时由 0 到 23 之间的整数表示。因此,从午夜到凌晨 1 点是小时 0,从中午到下午 1 点是小时 12
    • 按照通常的方式,一分钟由 0 到 59 之间的整数表示
    • 秒用0到61的整数表示;值 60 和 61 只出现在闰秒中,即使这样也只出现在实际正确跟踪闰秒的 Java 实现中。由于当前引入闰秒的方式,在同一分钟内出现两个闰秒的可能性极小,但此规范遵循 ISO C 的日期和时间约定
  • 提供给方法的参数不必在指定的范围内;例如,日期可能指定为 1 月 32 日,并被解释为 2 月 1 日。

API

构造器

  • Date()
  • Date(long date)

静态方法

  • from
    • Instant 对象转为 Date 对象

公共方法

  • after , before

  • compareTo

  • getTime , setTime

    • 返回从 GMT 1970年1月1日0时距离当前时间点的毫秒数
  • toInstant

    • 转为 Instant