如何解析'dd MMM yyyy'

Asa*_*s77 4 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;

}
Run Code Online (Sandbox Code Playgroud)

Dan*_*der 6

你试过了吗

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MMM-yyyy");
Run Code Online (Sandbox Code Playgroud)

代替

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd MMM yyyy");
Run Code Online (Sandbox Code Playgroud)

(注意连字符,因为你的模式与你的输入不匹配)

也很有帮助:Locale.US按照@ZouZou的推荐使用

  • Locale.US 似乎修复了它 (2认同)