如何在java中获得每个月的第一个工作日一年

时间:2014-08-20 10:18:30

标签: java asp.net calendar

您好我们正在将应用程序从ASP迁移到Java。在ASP中,他们使用以下函数来查找给定月份和年份的第一周。

for(var i=0; i < 12; i++) {
    iPrintDay = 1;
    iStopFlag = 0;
    iDays=0;
    iLastDay = arrMonthDay[i];
    datFirstDay = new Date(sParmYear,i, 1);  
    iFirstWeekday = datFirstDay.getDay();
}


从上面for循环,datFirstDay的sysout将返回2014年1月1日00:00:00 CST 2014年,并且iFirstWeekday的sysout将返回3 [这是1月份的1月份的起始工作日他们正在通过的2014年为上面给出的for循环的第一次迭代。


我正在努力寻找iFirstWeekday的价值,这是每个月在Java开始的每个月的第一个星期。 我尝试了很多解决方案,但没有一个满足我的期望 任何建议对解决问题都非常有帮助

2 个答案:

答案 0 :(得分:2)

您可以尝试使用日历

Calendar c = new GregorianCalendar(2014, Calendar.JANUARY, 1);
for(int i = 0 ;i < 12 ; i++){
    System.out.println(c.getTime());
    c.add(Calendar.MONTH, 1);
}

答案 1 :(得分:1)

您可以将以下行添加到Cyril的代码中:

System.out.println(c.get(Calendar.DAY_OF_WEEK));

周三结果为4,但我怀疑你是否在从结果中减去1时遇到任何困难。