这是我写的一个java例子,编译运行就可以了,针对你的问题 beginDate和endDate可以自己设定
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.*;
public class TestDate{ private String beginDate = "2006-01-23"; private String endDate = "2006-01-27"; protected String saturday(Date beginDate){ Calendar cld = Calendar.getInstance(); cld.setTime(beginDate); int year = cld.get(cld.YEAR); int month = cld.get(cld.MONTH); int day = cld.get(cld.DAY_OF_MONTH); int dayOfWeek = cld.get(cld.DAY_OF_WEEK); int i = 7 - dayOfWeek; cld.set(year,month,day+i); year = cld.get(cld.YEAR); month = cld.get(cld.MONTH); day = cld.get(cld.DAY_OF_MONTH); return year+"-"+(month<9?"0":"")+(month+1)+"-"+(day<10?"0":"")+day; } /* protected int countDays(Date bd,Date ed) { long bt = bd.getTime(); long et = ed.getTime(); long it = et - bt; int i = (int)it/(24*60*60*1000); i++; System.out.println("i:"+i); int days = 0; Calendar cld = Calendar.getInstance(); cld.setTime(bd); int year = cld.get(cld.YEAR); int month = cld.get(cld.MONTH); int day = cld.get(cld.DAY_OF_MONTH); int dayOfWeek = 0; String leave = null; for(int j=0;j<i;j++){ cld.set(year,month,day); dayOfWeek = cld.get(cld.DAY_OF_WEEK); if(dayOfWeek!=1 && dayOfWeek!=7){//此处出去周六和周日 days++; } day++; } return days; }//countDays */ public static void main(String[] args) throws java.text.ParseException { TestDate td = new TestDate(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date bd = sdf.parse(td.beginDate); Date ed = sdf.parse(td.endDate); System.out.println(td.saturday(bd)); /* System.out.println(td.countDays(bd,ed)); Calendar cld = Calendar.getInstance(); cld.setTime(bd); System.out.println(cld.get(cld.DAY_OF_WEEK)); cld.setTime(ed); System.out.println(cld.get(cld.DAY_OF_WEEK)); /* long bt = bd.getTime(); long et = ed.getTime(); long it = et - bt; int i = (int)it/(24*60*60*1000); i++; int days = 0; Calendar cld = Calendar.getInstance(); cld.setTime(bd); int year = cld.get(cld.YEAR); int month = cld.get(cld.MONTH); int day = cld.get(cld.DAY_OF_MONTH); int dayOfWeek = 0; String leave = null; for(int j=0;j<i;j++){ day++; cld.set(year,month,day); dayOfWeek = cld.get(cld.DAY_OF_WEEK); System.out.println(dayOfWeek); if(dayOfWeek==1||dayOfWeek==7){ leave = cld.get(cld.YEAR)+"-"+(cld.get(cld.MONTH)+1)+"-"+cld.get(cld.DAY_OF_MONTH); System.out.println(leave); } if(dayOfWeek!=1&&dayOfWeek!=7){ days++; } } System.out.println("总天数:"+days); /* List yy = new ArrayList(); yy.add("5"); System.out.println(yy.size()); TestDate td = new TestDate(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date bd = sdf.parse(td.beginDate); Date ed = sdf.parse(td.endDate); long bt = bd.getTime(); long et = ed.getTime(); long it = et - bt; int i = (int)it/(24*60*60*1000); i++; Calendar cld = Calendar.getInstance(); cld.setTime(bd); int year = cld.get(cld.YEAR); int month = cld.get(cld.MONTH); int day = cld.get(cld.DAY_OF_MONTH); String leave = null; for(int j=0;j<i;j++){ leave = cld.get(cld.YEAR)+"-"+(cld.get(cld.MONTH)+1)+"-"+cld.get(cld.DAY_OF_MONTH); System.out.println(leave); day++; cld.set(year,month,day); }
*/ } }
|
|