我正在使用 java 7,并且正在尝试从平面文件中解析日期。
我这个文件的日期具有以下格式“2012 年 3 月 30 日 14:05:02”。我不能改变这个,它取决于另一个软件。
根据javadoc ,这种格式:“dd-MMM-yyyy HH:mm:ss”是使用的格式。
但由于未知原因,这不起作用。
这是一个重现该问题的小程序。
package javaapplication2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
public class JavaApplication2 {
public static void main(String[] args) {
Date d = null;
try {
SimpleDateFormat df;
df = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss", Locale.FRANCE);
d = df.parse("30-Mar-2012 14:05:02");
} catch (ParseException ex) {
System.err.println(ex.getMessage());
}
if (d != null) {
System.out.println(d.toString());
}
}
}
当我在原始日期的“Mar”之后加上“s”时,问题不会发生(“Mars”是法语中 March 的全名,这也适用于格式中的“March”和 Locale.US)。
难道我做错了什么 ?真的可以这样做吗?我在java中有一个关于这个的未记录问题吗?