如何将日期格式从“dd MMM yyyy”转换为“yyyy-MM-dd”?
我知道我必须使用SimpleDatFormat
但它不起作用,也没有任何类似问题的解决方案。
我有一个日期“2015年12月18日”,我正在尝试格式化,但我得到了这个
java.text.ParseException: Unparseable date: "18 Dec 2015"
这是我的代码:
public String parseDate(String d) {
String result = null;
Date dateObject = null;
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd MMM yyyy");
try {
dateObject = dateFormatter.parse(d);
dateFormatter.applyPattern("yyyy-MM-dd");
result = dateFormatter.format(dateObject);
} catch (ParseException e) {
System.out.println(e);
}
return result;
}
答案 0 :(得分:5)
你试过吗
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MMM-yyyy");
而不是
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd MMM yyyy");
(注释连字符,因为你的模式与你的输入不匹配)
也很有帮助:使用@ZouZou推荐的Locale.US
答案 1 :(得分:0)
您正在传递输入为" 2015年12月18日"而不是形式" dd MMM yyyy"。尝试并传递2015年12月18日的输入,它应该可以工作。