Calendar java util返回错误的月份

时间:2014-11-20 10:01:58

标签: java user-interface calendar

我试图制作允许人们在日历中保存班次的GUI。 我正在尝试使用import java.uti.Calendar构建我的日历。 在尝试打印月份时,它会让我回到当前月份10而不是11,有什么建议吗?

package hours_report;
import hours_report.MyPanel.MyActionListener;

import java.util.Calendar;
import java.util.Date;

public class MyCalendar {

    private Calendar MyCurrentTime;
    private int currentMonth;


public MyCalendar()
{
    this.MyCurrentTime = Calendar.getInstance();
}

public Date getDate()
{
    return MyCurrentTime.getTime();

}

public int getMonth()
{
    currentMonth = MyCurrentTime.get(MyCurrentTime.MONTH);
    return currentMonth;
}
}


package hours_report;
import javax.swing.*;

public class Tester {

    public static void main(String[] args)
    {
        JFrame frame = new JFrame("Hours Report MI QA");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600,700);
        MyPanel p = new MyPanel();
        frame.add(p);
        MyCalendar cal = new MyCalendar();
        System.out.println(cal.getDate());
        System.out.println(cal.getMonth());
        frame.setVisible(true);
    }
}

2 个答案:

答案 0 :(得分:1)

月份的索引是从0而不是1,因此10是11月,11是12月。

来自:Calendar returns wrong month

答案 1 :(得分:1)

Java Calendar类从0(Jan)到11(Dec)的月份编号。如果您需要,则必须将其转换为传统的1-12编号。