java - 如何解析 'dd MMM yyyy'

标签 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;

}

最佳答案

你试过了吗

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MMM-yyyy");

代替
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd MMM yyyy");

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

也有帮助:使用 Locale.US正如@ZouZou 推荐的那样

关于java - 如何解析 'dd MMM yyyy',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27204034/

相关文章:

java - 使用 Java 在 EPS 文件中添加元数据

java - 搜索LinkedHashMap,比顺序更快的方法?

android - 在 Unix 中显示时间戳,在 Android Kotlin 中显示 UTC

php - PHP 中的 MYSQL 日期变量减去 7 天?

java - JAVA中将字符串转换为日期格式(yyyy/MM/dd)

带有时区的 W3C XML 日期的 Java SimpleDateFormat 模式

java - Fernflower Java反编译器帮助

android - Android中的日期选择器

java - 以简单日期格式解析月份的问题

java - 输出 2147483647 作为 Dijkstra 最终答案中的距离