在Java中将String转换为Date时出错[重复]

问题描述 投票:0回答:3
DateFormat d1;
d1 = new SimpleDateFormat("dd-MMMM-yyyy");

public String duedate = "20-April.2019";
Date du =  d1.parse(duedate);

我一直得到的错误是:

默认构造函数无法处理隐式超级构造函数抛出的异常类型ParseException。必须定义一个显式构造函数

java compiler-errors unhandled-exception default-constructor parseexception
3个回答
1
投票

它应该只有三个'M'。

d1 = new SimpleDateFormat("dd-MMM-yyyy");

并且日期不应该有点。

String duedate = "20-April-2019";
Date du =  d1.parse(duedate);

1
投票

首先,dateFormat和duedate必须对应,所以如果你的dateFormat使用短划线,那么duedate就不能使用点

String duedate = "20-April-2019";

其次你必须考虑ParseException错误,所以你必须用try / catch包围Date的声明,如下所示:

try{
    Date du =  d1.parse(duedate);
} catch(ParseException e){
    e.printStackTrace();
}

0
投票

您可以在此处找到有关如何使用SimpleDateFormat解析日期字符串的信息:https://docs.oracle.com/javase/10/docs/api/java/text/SimpleDateFormat.html

出现错误,因为您的日期格式字符串与您尝试解析的日期字符串不匹配。

© www.soinside.com 2019 - 2024. All rights reserved.