如何将 '2024-11-21T14:52:37.000+08:00' 的日期时间字符串转换为 Java 中的 DateTime 对象?
时间: 2024-12-18 13:33:55 浏览: 10
要将 '2024-11-21T14:52:37.000+08:00' 格式的日期时间字符串转换为 Java 中的 `java.time.LocalDateTime` 或 `java.time.ZonedDateTime` 对象,你需要使用 `DateTimeFormatter` 来解析该字符串。这里是一个示例:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String dateTimeStr = "2024-11-21T14:52:37.000+08:00";
// 创建一个 DateTimeFormatter,匹配给定的日期时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
// 使用 formatter 解析字符串到 LocalDateTime 或 ZonedDateTime
LocalDateTime localDateTime = LocalDateTime.parse(dateTimeStr, formatter);
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTimeStr, formatter);
System.out.println("LocalDateTime: " + localDateTime);
System.out.println("ZonedDateTime: " + zonedDateTime);
}
}
```
这段代码首先定义了一个 `DateTimeFormatter`,然后分别用这个格式器解析字符串得到 `LocalDateTime` 和 `ZonedDateTime`。`ZonedDateTime` 是带有时区信息的时间,而 `LocalDateTime` 则不包含时区。
阅读全文