Java 解析yyyy-MM-dd格式的日期时发生ParseException
Java 解析yyyy-MM-dd格式的日期时发生ParseException,java,android,simpledateformat,date-parsing,unparseable,Java,Android,Simpledateformat,Date Parsing,Unparseable,标准日期[0]包含“2018-06-11” 我在这一行遇到了一个无法处理的异常: java.text.ParseException:不可解析日期:“2018-06-11” 您得到错误是因为您使用了错误的模式来解析日期。改用这个: private SimpleDateFormat dateFormatMonth = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()); Date date = dateFormatMonth.parse(s
标准日期[0]
包含“2018-06-11”
我在这一行遇到了一个无法处理的异常:
java.text.ParseException:不可解析日期:“2018-06-11”
您得到错误是因为您使用了错误的模式来解析日期。改用这个:
private SimpleDateFormat dateFormatMonth = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
Date date = dateFormatMonth.parse(strtdate[0]);
假设“06”是月份,“11”是“天”。作为一个旁白,考虑扔掉长期过时和臭名昭著的麻烦代码< SimpleDateFormat >代码>和朋友,并添加到Android项目中,以便使用<代码> java.时间>代码>,java java日期和时间API。使用它会更好。
LocalDate.parse(strtdate[0])
。由于日期字符串符合ISO 8601标准,因此不需要显式格式设置程序。因此,不可能指定错误的格式。此外,现代的LocalDate
是一个没有时间的日期,它显然更符合您的要求(尽管名称是时间点,但日期是date
)。
private SimpleDateFormat dateFormatMonth = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date date = dateFormatMonth.parse(strtdate[0]);