判断是否为节假日和一天是否为周末

/**
     * 判断某一天是否是为节假日
     *
     * @param someDay
     * @return boolean false表示当前不是节假日(是上班日 )
     */

public boolean whetherFestival(java.util.Date someDate) {

        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd");
        String someDay = sdf.format(someDate);
        boolean flag = true;
        String sql = "from " + youTableName
                + " where sKey='festivalDay'";
        List<SunshineFestival> sunshineFestival = hibernateUtils
                .getHibernateTemplate().find(sql);
        if (null != sunshineFestival && sunshineFestival.size() > 0) {
            SunshineFestival festival = sunshineFestival.get(0);
            String festivalDay = festival.getsValue();// 从数据库中获取一年所有的节假日
            String f[] = festivalDay.split(",");// 把节假日字符串拆成数组
            // 依次判断当前日期是否为节假日, 若遇到等于某个节假日,跳出循环
            for (int i = 0; i < f.length; i++) {
                if (someDay.equals(f[i])) {
                    flag = true;// true表示当前是节假日
                    break;
                } else {
                    flag = false;
                }
            }
        }

        return flag;// 最终flag=false,表示当前不是节假日(是上班日 )

    }




/**
     * 判断某一天是否为周末
     *
     * @param date
     * @return flag为false时为工作日,为true时为周末
     * @throws Exception
     */
    public boolean getWeekday(java.util.Date date) throws Exception {// 必须yyyy-MM-dd
        SimpleDateFormat sdw = new SimpleDateFormat("E");
        String dateString = sdw.format(date);
        boolean flag = false;
        if (dateString.equals("星期六") || dateString.equals("星期日")) {
            flag = true;
        }
        return flag;
    }



SimpleDateFormat函数语法:
 
  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12)
  H 时 在一天中 (0~23)
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区

eg:

   SimpleDateFormat sdw = new SimpleDateFormat("E"); / /得到当前日期是星期几

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值