这两天在写一个项目,考勤系统,写到请假的一块,需要判断请假的天数,在网上搜也没有合意的,于是就自己写了个。
请假天数以0.5天为单位,不足0.5天的按0.5天算,在请假页面选择的时候,只能选择日期和上下午。
规定的节假日是存在数据库中的,我这里用的是ssh框架,链接的oracle
以下是代码:
//得到两个日期之间的所有天的日期集合
private List<String> getDays(String startDate, String endDate)
throws ParseException {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date startDat = df.parse(startDate);
startCalendar.setTime(startDat);
Date endDat = df.parse(endDate);
endCalendar.setTime(endDat);
List<Calendar> list = new ArrayList<Calendar>();
List<String> listStr = new ArrayList<String>();
while (true) {
if (startCalendar.getTimeInMillis() <= endCalendar.getTimeInMillis()) {
Calendar cale