java中的简单日期格式,Parse异常

时间:2015-03-10 09:23:28

标签: java parsing date simpledateformat

这是我的日期字符串:" 07SEP2014 00:00"

这是将字符串转换为日期的代码:

new SimpleDateFormat("ddMMMyyyy HH:mm").parse(dateString);

我得到了解析异常。我做错了什么?

3 个答案:

答案 0 :(得分:1)

您的代码有效 - 只要您的系统具有SEP = 9月的区域设置。 您可以设置区域设置以确保:

Date result = new SimpleDateFormat("ddMMMyyyy HH:mm",Locale.ENGLISH).parse(dateString);

答案 1 :(得分:0)

您需要根据模式自定义日期格式。有关自定义的详细信息here

修改 案例在这里很重要。 SEP 应该像 9月

    SimpleDateFormat formatter=new SimpleDateFormat("ddMMMyyyy HH:mm");
    Date today = new Date();
    today.setMonth(8);
    String result = formatter.format(today);
    System.out.println(result);

输出: 10Sep2015 15:08

编辑2:    你的例子也在发挥作用。

    SimpleDateFormat formatter=new SimpleDateFormat("ddMMMyyyy HH:mm");
    Date result = formatter.parse("07Sep2014 00:00");
    System.out.println(result.toString());

输出: Sun Sep 07 00:00:00 IST 2014

答案 2 :(得分:0)

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateParse {

    public static void main(String[] args) {

        String date = "07SEP2014 00:00";
        try {
            Date dateParse = new SimpleDateFormat("ddMMMyyyy HH:mm").parse(date);
            System.out.println(dateParse);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

输出

Sun Sep 07 00:00:00 IST 2014