liuzhh198210 2010-08-06 16:03
浏览 251
已采纳

java 求某个月中星期天的个数 算法

|现在在用s2s2h3做考勤统计,能得到月天数,但是一个月中的星期天的个数求不出来了,请大家忙下! 最好是不要套循环! |

  • 写回答

4条回答 默认 最新

  • works001 2010-08-06 16:09
    关注

    import java.util.Date;
    import java.util.Calendar;
    import java.text.SimpleDateFormat;

    class Demo{

    //返回当前年份
    int getYear(){
    Date date=new Date();
    String year=new SimpleDateFormat("yyyy").format(date);
    return Integer.parseInt(year);
    }
    //返回当前月份
    int getMonth(){
    Date date=new Date();
    String month=new SimpleDateFormat("MM").format(date);
    return Integer.parseInt(month);
    }
    //判断闰年
    boolean isLeap(int year){
    if(((year%100==0)&&year%400==0)||((year%100!=0)&&year%4==0))
    return true;
    else
    return false;
    }
    //返回当月天数
    int getDays(int year,int month){
    int days;
    int FebDay=28;
    if(isLeap(year))
    FebDay=29;
    switch(month){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
    days=31;break;
    case 4:
    case 6:
    case 9:
    case 11:
    days=30;break;
    case 2:
    days=FebDay;break;
    default:
    days=0;break;
    }
    return days;
    }
    //返回当月星期天数
    int getSundays(int year,int month){
    int sundays=0;
    SimpleDateFormat sdf=new SimpleDateFormat("EEEE");
    Calendar setDate= Calendar.getInstance();
    //从第一天开始
    int day;
    for(day=1;day<=getDays(year,month);day++){
    setDate.set(Calendar.DATE,day);
    String str=sdf.format(setDate.getTime());
    if(str.equals("星期日")){
    sundays++;
    }
    }
    return sundays;
    }

    public static void main(String[] args){
    Demo demo=new Demo();
    System.out.println ("本月有"+demo.getDays(demo.getYear(),demo.getMonth())+"天");
    System.out.println ("本月有"+demo.getSundays(demo.getYear(),demo.getMonth())+"个星期天");
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作