一. Java 日期
Java 并没有内置的 Date
类,但我们可以导入相关的包来使用日期和时间 API。该包包含了许多日期和时间类。例如:java.time
。
什么是API ?
API (全称:应用程序编程接口)是一组定义软件组件之间交互的规则和协议。
简单来说,API 是不同软件或系统之间沟通和交换信息的接口,它提供了一种方式,让不同的软件模块可以相互“对话”或协作。
类名 | 描述 |
---|---|
LocalDate |
表示一个日期(年、月、日,格式为 yyyy-MM-dd) |
LocalTime |
表示一个时间(小时、分钟、秒和纳秒,格式为 HH-mm-ss-ns) |
LocalDateTime |
同时表示日期和时间(格式为 yyyy-MM-dd-HH-mm-ss-ns) |
DateTimeFormatter |
用于显示和解析日期时间对象的格式化器 |
1 示例:显示当前日期和时间,具体输出格式取决于当前日期
要显示当前日期,可以导入相应的类,并使用其方法:java.time.LocalDate.now()
要显示当前时间(小时、分钟、秒和纳秒),需要导入相关类,并使用它的方法:java.time.LocalTime.now()
。
1 | import java.time.LocalDate; // 导入 LocalDate 类 |
2 示例:显示当前日期和时间
要显示当前日期和时间,导入该类并使用其方法:java.time.LocalDateTime.now()
1 | import java.time.LocalDateTime; // 导入 LocalDateTime 类 |
输出结果:
1 | 2024-12-18T11:42:38.071003500 |
解释:
- 2024-12-18:表示日期(年-月-日)
- T:日期和时间之间的分隔符
- 15:30:45:表示时间(小时:分钟:秒)
- .123456789:表示时间的纳秒部分(如果系统支持,可能会显示)
二. 格式化日期和时间
在上面的示例中,”T” 用于分隔日期和时间。你可以使用 DateTimeFormatter
类和它的 ofPattern()
方法来格式化或解析日期时间对象。
1 示例:将删除日期时间中的 “T” 和纳秒部分
1 | import java.time.LocalDateTime; // 导入 LocalDateTime 类,用于获取当前的日期和时间 |
输出的结果:
1 | 未格式化: 2024-12-18T12:23:53.323724300 |
2 格式化:ofPattern() 方法
ofPattern()
是 DateTimeFormatter
类中的一个静态方法,它用于创建一个自定义的日期时间格式化器,可以根据给定的格式化模式来格式化和解析日期和时间。
形式有:
值 (Value) | 示例 (Example) | 输出的结果 |
---|---|---|
yyyy-MM-dd |
"1988-09-29" |
"1988-09-29" |
dd/MM/yyyy |
"29/09/1988" |
"29/09/1988" |
dd-MMM-yyyy |
"29-Sep-1988" |
"29-九月-1988" |
E, MMM dd yyyy |
"Thu, Sep 29 1988" |
"星期四, 九月 29 1988" |
Thu: 是英文缩写,表示星期四,翻译为 **”星期四”**; Sep: 是英文缩写,表示九月,翻译为 **”九月”**。
dd
:表示日期,01
到31
。MM
:表示月份,01
到12
。yyyy
:表示年份,四位数。HH
:表示小时,24小时制,00
到23
。mm
:表示分钟,00
到59
。ss
:表示秒,00
到59
。
简单来说:
ofPattern()
方法允许你根据需要指定任何自定义的日期时间格式。通过使用不同的模式符号(如 dd
, MM
, yyyy
, HH
, mm
, ss
),你可以定义任意格式的日期时间字符串输出。