String dateString = "93979";SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");Date date = dateFormat.parse(dateString);报错怎么解决
时间: 2024-03-21 15:37:42 浏览: 14
这个错误是因为 `SimpleDateFormat` 解析日期字符串时,发现字符串的格式与指定的日期格式不匹配。具体地说,你指定的日期格式是 `yyyyMMdd`,但是输入的日期字符串 `93979` 与该格式不匹配,因此会抛出 `ParseException` 异常。
为了解决这个问题,你可以检查输入的日期字符串是否符合指定的日期格式,如果不符合,则可以给它加上缺失的部分,使得它符合指定的日期格式,然后再使用 `SimpleDateFormat` 来解析日期字符串。
例如,如果你知道输入的日期字符串是表示 1993 年 9 月 7 日,你可以在字符串的前面加上 `19`,在中间加上 `0`,然后再使用 `SimpleDateFormat` 来解析日期字符串。具体代码如下所示:
```
String dateString = "93979";
// 给日期字符串加上缺失的部分,使其符合指定的日期格式
if (dateString.length() == 5) {
dateString = "0" + dateString;
}
dateString = "19" + dateString;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = dateFormat.parse(dateString);
System.out.println(date);
```
这个代码首先检查输入的日期字符串是否需要加上缺失的部分,然后将其转换为指定的日期格式,并使用 `SimpleDateFormat` 解析日期字符串。这样就可以避免 `ParseException` 异常的发生了。