不能与简单的日期格式解析字符串(Can not parse String with Simple D

2019-09-27 17:27发布

我有这样一个的SimpleDateFormat:

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

而试图解析这样的2012-Jul-29 17:14:39 ,但我真的越来越

java.text.ParseException:无法解析日期: “2012-JUL-29 17点14分39秒” 在java.text.DateFormat.parse(源未知)在com.sysplan.visixd.blastgauge.BGParser.main(Parser.java: 396)

任何想法为何?

Answer 1:

这似乎是一个语言环境的问题,我想这没有任何错误

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);


Answer 2:

尝试这个

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


Answer 3:

尝试这个

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


Answer 4:

您可以使用下面的代码:

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()));

}
}


文章来源: Can not parse String with Simple Date format