import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 计算两个日期之间的周末天数 * @author yan * */ public class WeekEnd { public static void main(String[] args) throws ParseException { // 设置传入的时间格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 指定一个日期 Date date1 = dateFormat.parse("2016-11-12 13:24:16"); Date date2 = dateFormat.parse("2016-11-20 13:24:16"); //第三个三处代表是否 去除 双休日 System.out.println(computeHolidays(date2,date1)); } public static int computeHolidays(Date t1,Date t2) throws ParseException{ //初始化第一个日期 Calendar cal1 = Calendar.getInstance(); //初始化第二个日期,这里的天数可以随便的设置 Calendar cal2 = Calendar.getInstance(); // 设置传入的时间格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 指定一个日期 Date date1 = dateFormat.parse(dateFormat.format(t1)); Date date2 = dateFormat.parse(dateFormat.format(t2)); // 对 calendar 设置为 date 所定的日期 cal1.setTime(date1); cal2.setTime(date2); int holidays = 0; //确定一个 大日期 if(cal1.compareTo(cal2) > 0){ Calendar temp = cal1; cal1 = cal2; cal2 = temp; temp = null; } while(cal1.compareTo(cal2)<=0){ if(cal1.get(Calendar.DAY_OF_WEEK)==1||cal1.get(Calendar.DAY_OF_WEEK)==7){ holidays++; System.out.println("周末:"+new SimpleDateFormat("yyyy-MM-dd").format(cal1.getTime())); } cal1.add(Calendar.DAY_OF_YEAR,1); } return holidays; } }
java计算两个日期之间的周末天数
猜你喜欢
转载自qq-24665727.iteye.com/blog/2341609
今日推荐
周排行