欢迎来到天天文库
浏览记录
ID:40558237
大小:23.73 KB
页数:16页
时间:2019-08-04
《Java节假日算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java节假日算法这里有三个类分别是:1.DateToDate2.Vacation3.WorkDateimportjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCalendar;impor
2、tjava.util.List;importjava.util.Scanner;publicclassDateToDate{/****************************************************************************在beginDate和endDate之间所包含假期的天数,若不包含则返回0;*假期和周末分别进行单独考虑!*@paramlist*@parambeginDate*@paramendDate*@return*/publicstaticintgetContainVacation(Listlist,DatebeginDate
3、,DateendDate){intdays=0;Calendarbegincal=newGregorianCalendar();Calendarendcal=newGregorianCalendar();begincal.setTime(beginDate);endcal.setTime(endDate);for(inti=0;i4、rianCalendar();tempcal.setTime(tempDate);inttempDays=vac.getDays();inttempDay=tempcal.get(Calendar.DAY_OF_YEAR);intdd=0;if((tempDate.after(endDate))5、6、(tempDate.before(beginDate))){System.out.println(tempDate.after(endDate));System.out.println("执行到这里了吗???!");continue;}else{System.out.println("应该执行到这7、里了!@");while(tempDay8、9、(tempcal.get(Calendar.DAY_OF_WEEK)==1)){System.out.println((tempcal.get(Calendar.DAY10、_OF_WEEK))==2);System.out.println((tempcal.get(Calendar.DAY_OF_WEEK)==1));System.out.println("节假日和周末重叠的情况!"+tempcal.get(Calendar.DAY_OF_WEEK));days--;}tempcal.add(Calendar.DAY_OF_WEEK,1);dd++;//计数器自增,不能超出法定的假期数。days++;//符合这两种条件的自增。看一下有多少天!tempDay++;//法定假日自增,不能超出endDate的日期数!}}}//单独考虑周末的情况!不知道哪一个数字代表11、周六,周日!System.out.println("周末!");for(intj=begincal.get(Calendar.DAY_OF_YEAR);j<=endcal.get(Calendar.DAY_OF_YEAR);j++){if(begincal.get(Calendar.DAY_OF_WEEK)==712、13、begincal.get(Calendar.DAY_OF_WEEK)==1){System.o
4、rianCalendar();tempcal.setTime(tempDate);inttempDays=vac.getDays();inttempDay=tempcal.get(Calendar.DAY_OF_YEAR);intdd=0;if((tempDate.after(endDate))
5、
6、(tempDate.before(beginDate))){System.out.println(tempDate.after(endDate));System.out.println("执行到这里了吗???!");continue;}else{System.out.println("应该执行到这
7、里了!@");while(tempDay8、9、(tempcal.get(Calendar.DAY_OF_WEEK)==1)){System.out.println((tempcal.get(Calendar.DAY10、_OF_WEEK))==2);System.out.println((tempcal.get(Calendar.DAY_OF_WEEK)==1));System.out.println("节假日和周末重叠的情况!"+tempcal.get(Calendar.DAY_OF_WEEK));days--;}tempcal.add(Calendar.DAY_OF_WEEK,1);dd++;//计数器自增,不能超出法定的假期数。days++;//符合这两种条件的自增。看一下有多少天!tempDay++;//法定假日自增,不能超出endDate的日期数!}}}//单独考虑周末的情况!不知道哪一个数字代表11、周六,周日!System.out.println("周末!");for(intj=begincal.get(Calendar.DAY_OF_YEAR);j<=endcal.get(Calendar.DAY_OF_YEAR);j++){if(begincal.get(Calendar.DAY_OF_WEEK)==712、13、begincal.get(Calendar.DAY_OF_WEEK)==1){System.o
8、
9、(tempcal.get(Calendar.DAY_OF_WEEK)==1)){System.out.println((tempcal.get(Calendar.DAY
10、_OF_WEEK))==2);System.out.println((tempcal.get(Calendar.DAY_OF_WEEK)==1));System.out.println("节假日和周末重叠的情况!"+tempcal.get(Calendar.DAY_OF_WEEK));days--;}tempcal.add(Calendar.DAY_OF_WEEK,1);dd++;//计数器自增,不能超出法定的假期数。days++;//符合这两种条件的自增。看一下有多少天!tempDay++;//法定假日自增,不能超出endDate的日期数!}}}//单独考虑周末的情况!不知道哪一个数字代表
11、周六,周日!System.out.println("周末!");for(intj=begincal.get(Calendar.DAY_OF_YEAR);j<=endcal.get(Calendar.DAY_OF_YEAR);j++){if(begincal.get(Calendar.DAY_OF_WEEK)==7
12、
13、begincal.get(Calendar.DAY_OF_WEEK)==1){System.o
此文档下载收益归作者所有