在 Java 中将字符串转换为日期时出错

DateFormat d1;

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


public String duedate = "20-April.2019";

Date du =  d1.parse(duedate);

我不断得到的错误是:


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


慕尼黑8549860
浏览 349回答 3
3回答

蓝山帝景

它应该只有三个“M”。d1 = new SimpleDateFormat("dd-MMM-yyyy");日期不应该有一个点。String duedate = "20-April-2019"; Date du =  d1.parse(duedate);

aluckdog

首先,dateFormat和到期日期必须对应,因此如果您的dateFormat使用破折号,则到期日不能使用点String duedate = "20-April-2019";其次,您必须考虑ParseException错误,因此您必须在Date声明周围加上如下所示的try/catch:try{    Date du =  d1.parse(duedate);} catch(ParseException e){    e.printStackTrace();}

绝地无双

您可以在此处找到如何使用SimpleDateFormat解析日期字符串的信息:https://docs.oracle.com/javase/10/docs/api/java/text/SimpleDateFormat.html出现此错误,因为您的日期格式字符串与您尝试分析的日期字符串不匹配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java