我的问题看起来非常简单。我从一个 GregorianCalendar 对象制作了一个日历图形用户界面,并使用它的方法来计算不同月份的正确天数,以及不同日期对应的工作日。
但是平日是一致的一天休息。日历声称 2013 年 7 月 1 日是“2”,在我所在的地区,这意味着星期二。星期一应该是“1”。“简单的!” 我想,然后输入:c.setFirstDayOfWeek(Calendar.MONDAY); 但没有给出任何反应。
所以我在stackoverflow上搜索答案,但每个有我问题的人似乎都忘记了1月是0,而不是1。我没有。所以现在我被卡住了。
作为一个简化的代码,我做了一个非常短的代码片段,它有相应的输出:
GregorianCalendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.MONTH, 6);
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.YEAR, 2013);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");
System.out.println(sdf.format(c.getTime()));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
输出是:
01-07-2013
2
我拒绝在我的代码中输入“-1”,以错误地纠正明显错误的症状。帮助表示赞赏。