# 课程：日期时间概述

> 原文： [https://docs.oracle.com/javase/tutorial/datetime/overview/index.html](https://docs.oracle.com/javase/tutorial/datetime/overview/index.html)

时间似乎是一个简单的主题;即便是便宜的手表也能提供合理准确的日期和时间。但是，通过仔细研究，您会发现微妙的复杂性和许多影响您理解时间的因素。例如，在 1 月 31 日添加一个月的结果对于闰年而言与其他年份不同。时区也增加了复杂性。例如，一个国家可能会在短时间内进出夏令时，或者一年多次进入夏令时，或者可能在某一年内完全跳过夏令时。

Date-Time API 使用 [ISO-8601](http://www.iso.org/iso/home/standards/iso8601.htm) 中定义的日历系统作为默认日历。此日历基于公历系统，并在全球范围内用作表示日期和时间的事实标准。 Date-Time API 中的核心类具有 `LocalDateTime` ， `ZonedDateTime` 和 `OffsetDateTime` 等名称。所有这些都使用 ISO 日历系统。如果您想使用其他日历系统，例如 Hijrah 或 Thai Buddhist， `java.time.chrono` 包允许您使用其中一个预定义的日历系统。或者你可以创建自己的。

Date-Time API 使用 [Unicode 公共区域设置数据存储库（CLDR）](http://cldr.unicode.org)。该存储库支持世界上的语言，并包含世界上最大的可用区域设置数据集。此存储库中的信息已本地化为数百种语言。 Date-Time API 也使用[时区数据库（TZDB）](http://www.iana.org/time-zones)。该数据库提供了自 1970 年以来全球每个时区变化的信息，以及自引入该概念以来的主要时区的历史记录。