simpledateformat.parse 报错
时间: 2023-04-30 18:04:29 浏览: 304
问题:为什么 simpledateformat.parse 报错?
回答:可能是因为传入的日期字符串格式不符合指定的日期格式,或者日期字符串中包含的字符无法解析为日期格式。需要检查传入的日期字符串是否和指定的日期格式匹配,并且字符串中的日期和时间格式是否符合要求。
相关问题
java.text.ParseException: Unparseable date: "93979" at java.text.DateFormat.parse(DateFormat.java:366)报错怎么解决
这个错误是由于日期格式不正确导致的。你需要检查输入的日期格式是否与所使用的日期格式匹配。如果不匹配,则需要更改日期格式或更改输入的日期。
例如,如果你使用的日期格式是"yyyy-MM-dd",则输入的日期应该按照这个格式进行输入,例如"2021-05-20",而不是"93979"。
如果你无法确定正确的日期格式,可以尝试使用SimpleDateFormat类来解析日期,例如:
```
String dateString = "93979";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = dateFormat.parse(dateString);
```
这将把"93979"解析为1993年9月7日的日期对象。
String dateString = "93979";SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");Date date = dateFormat.parse(dateString);报错怎么解决
这个错误是因为 `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` 异常的发生了。
阅读全文