使用 SimpleDateFormat 转换日期时出错
Error comverting date using SimpleDateFormat
我想将格式为 dd MMM yyyy(2015 年 5 月 23 日)的日期转换为 yyyy-MM-dd。
我使用的代码:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM dd", Locale.ITALY);
try {
Date varDate = simpleDateFormat.parse(date);
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ITALY);
date = simpleDateFormat.format(varDate);
} catch (ParseException e) {
e.printStackTrace();
}
转换前可变日期:2015年5月23日
转换后:2015-05-23
很遗憾,我遇到了一个错误:
java.text.ParseException: Unparseable date: "23 May 2015" (at offset 3)
我想你会发现在意大利语中,May 是 "Maggio"。
请注意,它在异常中显示 "offset 3",这是第四个字符(我们从零开始计数)。那是月份字符串。
此外,您使用 "dd" 作为年份格式而不是 "yyyy"。
最初的格式有错别字。应该是"dd MMM yyyy"。其次,语言环境设置为意大利,这意味着输入月份应该是意大利语,而不是英语。或者您应该更改语言环境参数。
我想将格式为 dd MMM yyyy(2015 年 5 月 23 日)的日期转换为 yyyy-MM-dd。
我使用的代码:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM dd", Locale.ITALY);
try {
Date varDate = simpleDateFormat.parse(date);
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ITALY);
date = simpleDateFormat.format(varDate);
} catch (ParseException e) {
e.printStackTrace();
}
转换前可变日期:2015年5月23日 转换后:2015-05-23
很遗憾,我遇到了一个错误:
java.text.ParseException: Unparseable date: "23 May 2015" (at offset 3)
我想你会发现在意大利语中,May 是 "Maggio"。
请注意,它在异常中显示 "offset 3",这是第四个字符(我们从零开始计数)。那是月份字符串。
此外,您使用 "dd" 作为年份格式而不是 "yyyy"。
最初的格式有错别字。应该是"dd MMM yyyy"。其次,语言环境设置为意大利,这意味着输入月份应该是意大利语,而不是英语。或者您应该更改语言环境参数。