LocalDateTime概述:LocalDateTime是一个不可变的日期
时间: 2025-01-04 07:33:29 浏览: 49
### Java `LocalDateTime` 类不可变日期时间类概述
#### 定义与特点
`LocalDateTime` 是 Java 8 中引入的一个重要类,用于表示 ISO-8601 日历系统的日期和时间。此对象是不可变的,意味着一旦创建就无法修改其状态[^3]。
#### 主要属性
此类包含了两个主要部分:一个是通过 `LocalDate` 表达的日历年份、月份以及具体的一天;另一个则是由 `LocalTime` 描述的时间成分,精确至纳秒级别。
#### 创建实例的方式
可以利用静态工厂方法来构建新的 `LocalDateTime` 对象:
```java
// 获取当前时刻对应的 LocalDateTime 实例
LocalDateTime now = LocalDateTime.now();
System.out.println("Current Date and Time: " + now);
```
也可以指定确切的年月日及时刻参数初始化一个特定的 `LocalDateTime`:
```java
int year = 2023;
int month = Month.JUNE.getValue(); // Using enum to get numeric value of June which is 6.
int dayOfMonth = 15;
int hour = 14;
int minute = 30;
LocalDateTime specificDateTime = LocalDateTime.of(year, month, dayOfMonth, hour, minute);
System.out.println("Specific Date and Time: " + specificDateTime);
```
#### 时间操作函数
为了方便开发者执行常见的日期时间计算任务,比如增加或减少一定量的时间单位(如分钟、小时),提供了诸如 plus 和 minus 的一系列便捷方法:
```java
// Adding one week (7 days) to the current date-time
LocalDateTime nextWeek = now.plus(Period.ofDays(7));
System.out.println("Next Week's Same Day & Time: " + nextWeek);
// Subtracting two hours from a given time point
LocalDateTime earlierTwoHours = specificDateTime.minus(Duration.ofHours(2));
System.out.println("Earlier Two Hours From Specific DateTime: " + earlierTwoHours);
```
阅读全文
相关推荐


















