20230522 java.util.Date
介绍
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
- 转为