问题描述
各位,代码如下,为什么System.out.println(calendar.get(Calendar.MONTH))打印出来是0,求解释?public class NormalDateTest {public static void main(String[] args) throws Exception{// TODO Auto-generated method stubSimpleDateFormat simple = new SimpleDateFormat("yyyy/mm/dd");Date date = simple.parse("2010/10/25");Calendar calendar = Calendar.getInstance();calendar.setTime(date);System.out.println(date);System.out.println(calendar.get(Calendar.MONTH));}}
解决方案
因为你格式化错了。SimpleDateFormat simple = new SimpleDateFormat("yyyy/MM/dd"); 小写mm是指的分 另外你这样获取的月份会是9 因为月份jdk默认是从0开始算的
解决方案二:
这个仁兄正解:引用因为你格式化错了。SimpleDateFormat simple = new SimpleDateFormat("yyyy/MM/dd"); 小写mm是指的分 另外你这样获取的月份会是9 因为月份jdk默认是从0开始算的liuwei415241704 (初级程序员) 2012-04-18
解决方案三:
在java中,yyyy/mm/dd,小写的m代表的是分钟哦。。你改成yyyy/MM/dd就行