Incorect Date to String convertation in Java

时间:2015-08-29 10:12:11

标签: java android

为什么代码返回字符串值是19880420而不是19880320?

SimpleDateFormat template= new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
cal.set(1988, 3, 20, 18, 00);

return template.format(cal.getTime()); 

2 个答案:

答案 0 :(得分:2)

月份从0开始,而不是1:)

看看这里: Why is January month 0 in Java Calendar?

答案 1 :(得分:1)

因为1月是0月,所以在构建日历时你必须做-1 http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#MONTH