`java.util.Date` from String "2021-09-08 16:22:10.000": expected format "yyyy-MM-dd HH:mm:ss:SSS";
时间: 2024-09-20 18:11:15 浏览: 69
xast-util-from-xml:从 XML 解析的实用程序
当你尝试使用 `java.util.Date` 类从字符串 "2021-09-08 16:22:10.000" 构造一个日期对象,但指定的格式不是 "yyyy-MM-dd HH:mm:ss:SSS",这将导致解析错误。`Date` 类默认解析的是 "yyyy.MM.dd G 'at' HH:mm:ss z" 的格式,其中包含了一些固定的分隔符。如果你提供的字符串按照 ISO 8601 格式,即 "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 或 "yyyyMMdd'T'HHmmss'Z'",那么可以直接解析。
正确的做法应该是先使用 `SimpleDateFormat` 或 `DateTimeFormatter` 将字符串转换为 `Date` 对象,传入正确的日期时间格式。例如:
```java
String dateString = "2021-09-08 16:22:10.000";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date date = sdf.parse(dateString);
} catch (ParseException e) {
// 处理解析异常
}
```
阅读全文