GregorianCalendar在Java中返回错误的DAY_OF_WEEK

use*_*076 3 java calendar weekday dayofweek gregorian-calendar

这段代码:

Calendar calendar;
calendar = GregorianCalendar.getInstance();
calendar.set(year, month, day);
week_day = calendar.get(Calendar.DAY_OF_WEEK);
Run Code Online (Sandbox Code Playgroud)

返回错误的值.

例如

  • 年= 2013年,月= 3,日= 31

返回相同的值

  • 年= 2013年,月= 4,日= 1.

我怎么能正确地做到这一点?

And*_*ios 7

Java几个月开始0.

Month 3 day 31April 31,那不存在,那么它将被转移到May1,

Month 4 day 1May 1,就在上面的同一天.