# 日期和时间

> 原文： [https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html](https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html)

* * *

**Version note:** This Date and Time section uses the date and time APIs in the `java.util` package. The `java.time` APIs, available in the JDK 8 release, provides a comprehensive date and time model that offers significant improvements over the `java.util` classes. The `java.time` APIs are described in the [Date Time](../../datetime/index.html) trail. The [Legacy Date-Time Code](../../datetime/iso/legacy.html) page might be of particular interest.

* * *

`Date`对象表示日期和时间。如果没有先将`Date`对象转换为格式正确的`String`，则无法显示或打印`Date`对象。什么是“适当的”格式？首先，格式应符合最终用户`Locale`的约定。例如，德国人认为`20.4.09`是一个有效的日期，但美国人希望相同的日期显示为`4/20/09`。其次，格式应包括必要的信息。例如，测量网络性能的程序可以报告经过的毫秒数。在线约会日历可能不会显示毫秒，但会显示一周中的几天。

本节介绍如何以各种方式和区域设置敏感的方式格式化日期和时间。如果您遵循这些技术，您的程序将在相应的`Locale`中显示日期和时间，但您的源代码将保持独立于任何特定的`Locale`。

## [使用预定义格式](dateFormat.html)

`DateFormat`类提供特定于语言环境且易于使用的预定义格式样式。

## [自定义格式](simpleDateFormat.html)

使用`SimpleDateFormat`类，您可以创建自定义的特定于语言环境的格式。

## [更改日期格式符号](dateFormatSymbols.html)

使用`DateFormatSymbols`类，您可以更改表示月份名称，星期几和其他格式元素的符号。