简体   繁体   English

无法解析java中的日期年份

[英]Cannot parse a date year in java

I have a date that is in the MM/dd/yy format. 我的日期是MM/dd/yy格式。 I get it from an XML file. 我是从XML文件中获取的。 Let's say, for example, it's 10/03/11 . 比方说,例如,它是10/03/11

I execute the following code on it: 我在其上执行以下代码:

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

The output is: 输出是:

dateStr: 10/03/11
dateStr After: 10/03/0011

I can not seem to get it to be 10/03/2011 . 我似乎无法得到它是10/03/2011 Any ideas why? 有什么想法吗?

When the date you are parsing has year with two chars, your simpleDateFormatter should also yy only. 当你解析的日期有两个字符的年份时,你的simpleDateFormatter也应该只是yy

EDIT: 编辑:

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

It's a parse exception... Use MM/dd/yy instead of MM/dd/yyyy . 这是一个解析异常...使用MM/dd/yy而不是MM/dd/yyyy

Like: 喜欢:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy"); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM