Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在java中分析日期年_Java_Date - Fatal编程技术网

无法在java中分析日期年

无法在java中分析日期年,java,date,Java,Date,我有一个日期是MM/dd/yy格式的。我从一个XML文件中获取它。比如说,它是10/03/11 我在其上执行以下代码: try { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); System.out.println("dateStr: " + dateStr); date = sdf.parse(dateStr); System.out.println("dateStr After: " +

我有一个日期是
MM/dd/yy
格式的。我从一个XML文件中获取它。比如说,它是
10/03/11

我在其上执行以下代码:

try {
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    System.out.println("dateStr: " + dateStr);
    date = sdf.parse(dateStr);
    System.out.println("dateStr After: " + sdf.format(date));
} catch(Exception e) {
    System.out.println("Error when formatting date");
}
输出为:

dateStr: 10/03/11 dateStr After: 10/03/0011 日期:2011年3月10日 日期:10/03/0011之后
我似乎无法将其设置为2011年3月10日。你知道为什么吗?

当你解析的日期有带两个字符的年份时,你的
simpleDateFormatter
也应该只包含
yy

编辑:

// First convert to date object
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");
System.out.println("dateStr: " + dateStr);

Date date = sdf.parse(dateStr);

SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yyyy");
sdf2.format(date);

// Then, format it to get 2011 with another date format.
System.out.println("dateStr After: " + sdf.format(date));
System.out.println("dateStr NEXT After: " +  sdf2.format(date));

这是一个解析异常。。。使用
MM/dd/yy
代替
MM/dd/yyyy

比如:


太棒了,谢谢。出于某种原因,我认为它应该是你想要的格式,而不是它目前的格式。
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");