java将es时间类型Oct 19, 2024 @ 04:21:33.000如何转换为yyyy-MM-dd HH:mm:ss
时间: 2024-10-20 08:13:05 浏览: 25
在Java中,如果你有一个以`Oct 19, 2024 @ 04:21:33.000`格式存储的时间,它看起来像是ISO 8601日期时间字符串,但是Java本身并没有直接支持这种格式。如果你想将其转换为`yyyy-MM-dd HH:mm:ss`格式,你可以使用`java.time`包下的`DateTimeFormatter`类来进行解析和格式化。
首先,你需要创建一个特定于所需格式的解析器(parser)和构建者(formatter)。这里是一个示例:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String input = "Oct 19, 2024 @ 04:21:33.000";
DateTimeFormatter formatterIn = DateTimeFormatter.ofPattern("MMM dd, yyyy @ HH:mm:ss.SSS");
LocalDateTime dateTime = LocalDateTime.parse(input, formatterIn);
DateTimeFormatter formatterOut = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDate = dateTime.format(formatterOut);
System.out.println(formattedDate); // 输出:2024-10-19 04:21:33
}
}
```
在这个例子中,`DateTimeFormatter.ofPattern()`方法用于指定输入和输出的日期时间格式模式。然后,`LocalDateTime.parse()`用于从给定的字符串解析时间,最后`format()`方法将转换后的日期时间格式化为你需要的格式。
阅读全文