无法使用简单日期格式解析字符串

时间:2013-05-17 10:04:37

标签: java parsing simpledateformat

我有一个像这样的SimpleDateFormat:

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");

并尝试解析此类2012-Jul-29 17:14:39 但我得到了

  

java.text.ParseException:Unparseable date:“2012-Jul-29 17:14:39”at   java.text.DateFormat.parse(未知来源)at   com.sysplan.visixd.blastgauge.BGParser.main(Parser.java:396)

知道为什么吗?

4 个答案:

答案 0 :(得分:3)

它似乎是一个区域设置问题,我试了一下没有任何错误

new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss").parse("2012-Jul-29 17:14:39");

然而这失败了:

new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss", Locale.TAIWAN)
        .parse("2012-Jul-29 17:14:39");

因此,它似乎是一个区域设置问题,您需要将您的区域设置指定为ENGLISH

new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss", Locale.ENGLISH)
        .parse("2012-Jul-29 17:14:39");

那是:

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat(
        "yyyy-MMM-dd HH:mm:ss", Locale.ENGLISH);

答案 1 :(得分:1)

试试这个

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss", Locale.ENGLISH);

答案 2 :(得分:0)

试试这个

new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss", Locale.ENGLISH);

答案 3 :(得分:0)

您可以使用下一个代码:

import java.text.DateFormat;
import java.util.Calendar;

public static void main(String[] args) {
        // TODO Auto-generated method stub

Calendar now = Calendar.getInstance();
DateFormat formateadorFechaMedia = DateFormat.getDateInstance(DateFormat.MEDIUM);
System.out.println(formateadorFechaMedia.format(now.getTime()));

}
}