如何用Java解析ddMMMyyyy?

时间:2014-11-25 16:12:27

标签: java date format

我正在尝试使用格式ddMMMyyyy解析日期并将其转换为dd.MM.YYYY。有时我的输入字符串如下:3Mar2014或1Jan2014但我猜,这应该不是ddMMMyyyy格式的问题。

SimpleDateFormat formatter = new SimpleDateFormat("ddMMMyyyy");
    SimpleDateFormat convert = new SimpleDateFormat("dd.MM.yyyy");
    String to = "";

    Date date;
    try
    {
        date = formatter.parse(from);
        to = convert.format(date);
    }
    catch (ParseException e)
    {
        System.out.println(e.getMessage() + " --- " + from);
    }

我的代码总是说:

Unparseable date: "3Mar2014" --- 3Mar2014

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

问题在于模式。

如果您使用“dMMMyyyy”,它就像魅力一样

答案 1 :(得分:0)

将语言环境更改为英语语言,例如

Locale usLocale = new Locale("en", "US");
Locale.setDefault(usLocale);

解决了这个问题。

在不更改区域设置的情况下将模式更改为“dMMMyyyy”并不能解决问题。然后它还在说

Unparseable date: "5Oct2014"