zoukankan      html  css  js  c++  java
  • calculate Leave Days

    //根据传入的日期得到周末.
    public static int getDayOfWeek(Date date){
    Calendar cal=Calendar.getInstance();
    cal.setTime(date);
    int dayNum=0;
    if(cal.get(Calendar.DAY_OF_WEEK)==1){
    dayNum = 7;
    }else{
    dayNum=cal.get(Calendar.DAY_OF_WEEK)-1;
    }
    return dayNum;
    }

    //get holidays except weekends //得到除周末以外的节假日.
    public int getHolidayDays(Date startDate, Date endDate, String employeeId) {
    int weekends = 0;
    List<Holiday> l = holidayService.getHolidayList(startDate, endDate,
    employeeId);
    if (l == null) {
    return 0;
    } else {
    for (Holiday h : l) {
    int dayNum = DateTimeUtil.getDayOfWeek(h.getHolidayDate());
    if (dayNum == 6 || dayNum == 7) {
    weekends = weekends + 1;
    }
    }
    }
    return l.size() - weekends;
    }

    //得到两个日期除周末外之间的天数
    public static int getWorkDays(Date startDate,Date endDate) throws ParseException {
    int workdays = 0;
    while (startDate.compareTo(endDate) <= 0) {
    if (getDayOfWeek(startDate) != 6 && getDayOfWeek(startDate) != 7){
    workdays++;
    }
    startDate=getNextDate(startDate);
    }
    return workdays;
    }
    //得到下一个日期
    public static Date getNextDate(Date date){
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    cal.add(Calendar.DATE, 1);
    return cal.getTime();
    }

    public static Boolean isWeekendsDays(Date date) {
    int dayNum = getDayOfWeek(date);
    return dayNum == 6 || dayNum == 7;
    }

  • 相关阅读:
    返回数组指针的函数形式
    zoj 2676 网络流+01分数规划
    2013 南京理工大学邀请赛B题
    poj 2553 强连通分支与缩点
    poj 2186 强连通分支 和 spfa
    poj 3352 边连通分量
    poj 3177 边连通分量
    poj 2942 点的双连通分量
    poj 2492 并查集
    poj 1523 求割点
  • 原文地址:https://www.cnblogs.com/bella-life-blog/p/3798919.html
Copyright © 2011-2022 走看看