Java 8后日期格式转换
时间: 2024-09-29 17:13:23 浏览: 51
Java 8引入了新的日期和时间API,特别是`java.time`包,它提供了更强大、更直观的方式来处理日期格式转换。以下是主要的变化点:
1. `Date`和`Calendar`已经被弃用了,取而代之的是`LocalDate`, `LocalTime`, 和 `LocalDateTime`等类,它们表示日期、时间和日期时间组合,分别对应于瞬时的日期、时间以及两者结合。
2. 使用`DateTimeFormatter`来进行日期字符串与`ZonedDateTime`、`LocalDate`、`LocalTime`等之间格式化的操作。这个类提供了丰富的选项,可以指定各种不同的日期格式,如ISO 8601标准(`yyyy-MM-dd'T'HH:mm:ss.SSSZ`),或是自定义格式。
例如,将字符串转换为日期:
```java
String dateStr = "2023-04-01T12:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateStr, formatter);
LocalDate localDate = zonedDateTime.toLocalDate();
```
反过来,从日期到字符串也是如此:
```java
LocalDate localDate = LocalDate.now(); // 获取当前日期
String formattedDate = localDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
```
阅读全文