我有一个格式为 DD/MM/YY
的日期(类似于:10/12/03
)。我想使用 SimpleDateFormat 将其格式化为不同的格式(即 MM/dd/yyyy
)。
当我尝试这个时:
try {
// Old Date is 10/12/03
newDate = simpleDateFormat.format(format.parse(oldDate));
} catch (ParseException e) {
e.printStacktrace();
}
目前,格式化后年份为 0003
,但我希望年份为 2003
。请问对此有何意见?
最佳答案
看看SimpleDateFormat#set2DigitYearStart
这允许您定义两位数年份的“基准”年份,例如......
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2000);
SimpleDateFormat inFormat = new SimpleDateFormat("dd/MM/yy");
inFormat.set2DigitYearStart(cal.getTime());
SimpleDateFormat outFormat = new SimpleDateFormat("MM/dd/yyyy");
try {
// Old Date is 10/12/03
String value = outFormat.format(inFormat.parse("10/12/03"));
System.out.println(value);
} catch (ParseException e) {
e.printStackTrace();
}
将输出12/10/2003
关于java - 日期格式转换为 21 世纪日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049935/