如何解析'dd MMM yyyy'

时间:2014-11-29 15:47:55

标签: java date simpledateformat

如何将日期格式从“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;

}

2 个答案:

答案 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日的输入,它应该可以工作。