# 课程：标准日历

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

Date-Time API 的核心是 [java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html) 包。 `java.time`中定义的类将其日历系统基于 ISO 日历，这是表示日期和时间的世界标准。 ISO 日历遵循公理格里高利规则。公历于 1582 年推出;在*预感*公历中，日期从那时起向后延伸，以创建一致的统一时间线并简化日期计算。

本课程包含以下主题：

## [概述](overview.html)

本节比较人类时间和机器时间的概念，提供了`java.time`包中基于时间的主要类的表。

## [DayOfWeek 和月份枚举](enum.html)

本节讨论定义一周中的日期（ `DayOfWeek` ）和定义月份的枚举（`月`）的枚举。

## [日期类](date.html)

此部分显示仅处理日期的基于时间的类，没有时区或时区。四个类别是`LocalDate` ， `YearMonth` ， `MonthDay`和`Year` 。

## [日期和时间类](datetime.html)

本节介绍`LocalTime`和`LocalDateTime`类，它们分别处理时间，日期和时间，但没有时区。

## [时区和偏移类](timezones.html)

本节讨论存储时区（或时区偏移）信息的基于时间的类， `ZonedDateTime` ， `OffsetDateTime`和`OffsetTime` 。还讨论了支持类， `ZoneId` ， `ZoneRules`和`ZoneOffset` 。

## [即时班](instant.html)

本节讨论`Instant`类，它表示时间轴上的瞬时时刻。

## [解析和格式化](format.html)

本节概述了如何使用预定义格式化程序格式化和分析日期和时间值。

## [时间包](temporal.html)

本节概述`java.time.temporal`包，它支持时态类，字段（ `TemporalField`和`ChronoField` ）和单位（`） TemporalUnit`和`ChronoUnit` ）。本节还介绍了如何使用时间调整器来检索调整后的时间值，例如“4 月 11 日之后的第一个星期二”，以及如何执行时间查询。

## [期间和持续时间](period.html)

本节介绍如何使用`Period`和`Duration`类以及`ChronoUnit.`方法计算时间量。

## [时钟](clock.html)

本节简要介绍`时钟`类。您可以使用此类为系统时钟提供备用时钟。

## [非 ISO 日期转换](nonIso.html)

本节介绍如何将 ISO 日历系统中的日期转换为非 ISO 日历系统中的日期，例如`JapaneseDate`或`ThaiBuddhistDate` 。

## [旧版日期时间码](legacy.html)

本节提供了有关如何将旧的`java.util.Date`和`java.util.Calendar`代码转换为 Date-Time API 的一些提示。

## [小结](summary.html)

本节提供标准日历课程的小结。