[英]java.text.ParseException Unparseable date
當我將特定格式應用於日期時出現解析異常。
這是我的代碼:
System.out.println("*********************1**********************");
if(row.getCell(67).toString().equals("null"))
{
System.out.println("*********************2**********************");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 1988);
cal.set(Calendar.MONTH, Calendar.JUNE);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date dateRepresentation = cal.getTime();
rfx.setRv_rc_date(dateRepresentation);
}
else
{
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd", Locale.ENGLISH);
cal.setTime(sdf.parse(row.getCell(67).toString()));
System.out.println("******************************************************");
System.out.println(cal);
System.out.println("*******************************************************");
}
這是錯誤:
java.text.ParseException:無法解析的日期:“30-janv.-2020”
您正在嘗試解析法國日期(janv. 是 janvier 或英語中 January 的縮寫),因此您必須使用Locale.FRENCH
而不是Locale.ENGLISH
,如下所示:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRENCH);
Date date = sdf.parse("30-janv.-2020");
請使用java.time
api 代替Date
或Calendar
類,除非您有特定的理由這樣做。
看來你想解析一個法國日期,所以你必須使用Locale.FRENCH
String dateval = row.getCell(67).toString();
SimpleDateFormat sdf= new SimpleDateFormat( "dd-MMM-yyyy", Locale.FRENCH );
Date date = sdf.parse( dateval );
System.out.println(date);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.