我的日期是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
我似乎无法将其变为10/03/2011
。有什么想法吗?
答案 0 :(得分:12)
当您解析的日期包含两个字符的年份时,您的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));
答案 1 :(得分:4)
这是一个解析异常...使用MM/dd/yy
代替MM/dd/yyyy
。
像:
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");