Java-API简析_java.util.Date类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/132192232

出自【进步*于辰的博客
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。

大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

1、概述

所有已实现的接口:
SerializableCloneableComparable<Date>

直接已知子类:
DateTimeTimestamp


public class Date extends Object implements 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 同步,但没有 针对闰秒进行调整。有关更多信息的一个有趣来源是美国海军天文台,特别是 Directorate of Time 的网址:

http://tycho.usno.navy.mil

还有它们对 "Systems of Time" 的定义,网址为:

http://tycho.usno.navy.mil/systime.html

在类 Date 所有可以接受或返回日期小时分钟 值的方法中,将使用下面的表示形式:

  • 年份 y 由整数 y - 1900 表示。
  • 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
  • 日期(一月中的某天)按通常方式由整数 1 至 31 表示。
  • 小时由从 0 至 23 的整数表示。因此,从午夜到 1 am. 的时间是 0 点,从中午到 1 pm. 的时间是 12 点。
  • 分钟按通常方式由 0 至 59 的整数表示。
  • 秒由 0 至 61 的整数表示;值 6061 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为 1 月 32 日,并把它解释为 2 月 1 日的相同含义。

从以下版本开始:

JDK1.0
另请参见:
DateFormatCalendarTimeZone序列化表格


本文持续更新中。。。

相关推荐
qq_1728055920 天前
GO Date数据处理
go·date
一丝晨光2 个月前
ios CCUILocalNotification.m
ios·objective-c·cocoa·date
会篮球的程序猿2 个月前
php获取,昨,今,后天.... 本周,月,年...日期时间戳
php·时间戳·date·日期·strtotime·时间区间
一丝晨光3 个月前
ios CCNSDate.m
ios·objective-c·cocoa·软件开发·system·date·string
LSYING15 个月前
java中日期时间表示
java·date
岛森年9 个月前
java有关时间的整理
java·开发语言·date
老马甲9 个月前
avue-crud中时间范围选择默认应该是0点却变成了12点
前端·js·date·avue-crud·format
wsdhla10 个月前
XMLGregorianCalendar与Date互转
date·xmlgregorian·calendar·gregorian
微小冷1 年前
sqlite3日期时间格式化和自动输入
sqlite·格式化·date·time·日期时间
进步·于辰1 年前
Java-API简析_java.io.FilterInputStream类(基于 Latest JDK)(浅析源码)
java-api简析·filterinputstrm