Java 获取特殊日期的日期(周)?

Java 获取特殊日期的日期(周)?,java,android,calendar,dayofweek,gregorian-calendar,Java,Android,Calendar,Dayofweek,Gregorian Calendar,我有一个公历日期,我想知道它是星期几。我尝试过这个,但得到了错误的答案: Calendar calendar = new GregorianCalendar(); calendar.set(myYear, myMonth, myDay); int result = calendar.get(Calendar.DAY_OF_WEEK); switch (result) { case Calendar.SUNDAY: Log.i("DayOfWeek", "SUN"); brea

我有一个公历日期,我想知道它是星期几。我尝试过这个,但得到了错误的答案:

Calendar calendar = new GregorianCalendar();

calendar.set(myYear, myMonth, myDay);

int result = calendar.get(Calendar.DAY_OF_WEEK);
switch (result) {
case Calendar.SUNDAY:
    Log.i("DayOfWeek", "SUN");
    break;

.
.
.

default:
    startDay = 0;
    break;
} 

什么问题?

我终于找到了问题!上述代码是正确的,但您应该传递标准月值(0…11),而不是(1…12):


您使用的是0..11(正确)还是1..12(不正确)之间的月份?正如@MaartenBodewes所说,月份,无论出于什么奇怪的原因,都是零索引的。我已经用零索引的月份运行了你们的代码,它是有效的。若你们说你们得到了错误的答案,你们必须解释什么是正确的答案,什么是你们想要的get@MaartenBodewes感谢它的更正,Fyi,非常麻烦的旧日期时间类,如,/
GregorianCalendar
,和
java.text.simpleDataFormat
现在,被内置在Java8和更高版本中的类所取代。看到了吧,很高兴你让它工作了,但我要把它当作一个傻瓜关了。这个陷阱自推出以来一直在收集毫无戒心的程序员——我记得很久以前,我还必须找到我的攀爬工具……:)PS使用新的日期/时间API(从Java 8开始)。@MaartenBodewes您希望我删除此帖子吗?删除帖子有什么问题吗?没有,没有问题,但也没有直接的需要。它得到了更多的选票,所以有人喜欢它。也许谷歌已经找到了一些关键词,谁知道呢。只需将其作为指向先前所问问题的指针。如果你那样做的话,你可能不得不在问题之前删除答案。
Calendar calendar = new GregorianCalendar();

calendar.set(myYear, myMonth-1, myDay);

int result = calendar.get(Calendar.DAY_OF_WEEK);
switch (result) {
case Calendar.SUNDAY:
    Log.i("DayOfWeek", "SUN");
    break;

.
.
.

default:
    startDay = 0;
    break;
}