关于java中取时间类型数据月份的问题

Date date = entryBill.get(j).getIebDeclareDate();(这边取到的date是Tue Mar 01 00:00:00 CST 2016这样的)
date.getMonth();(这边取到的月是1)
这是为什么,月份不是应该是3月吗?

date的getMonth方法已经不推荐使用了,按理说应该返回2的(从0到11),但是不知道为什么返回了1。

Calendar c = Calendar.getInstance();
c.setTime(date);
System.out.println(c.get(Calendar.MONTH)+1);

现在一般推荐使用Calendar

http://blog.csdn.net/lfk_jery/article/details/5830838

使用Calendar,get(int field),返回你需要的,可以查看Calendar源码看一下可以返回的数据

 Calendar calendar = Calendar.getInstance();
        int month = calendar.get(Calendar.MONTH)+1;

建议使用Calendar c = Calendar.getInstance();都已经封装好了,希望对你有帮助