- importjava.text.SimpleDateFormat;
- importjava.util.Calendar;
- importjava.util.Date;
- importjava.util.GregorianCalendar;
- publicclassWeekUtils{
- //获取当前时间所在年的周数
- publicstaticintgetWeekOfYear(Datedate){
- Calendarc=newGregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setMinimalDaysInFirstWeek(7);
- c.setTime(date);
- returnc.get(Calendar.WEEK_OF_YEAR);
- }
- //获取当前时间所在年的最大周数
- publicstaticintgetMaxWeekNumOfYear(intyear){
- Calendarc=newGregorianCalendar();
- c.set(year,Calendar.DECEMBER,31,23,59,59);
- returngetWeekOfYear(c.getTime());
- }
- //获取某年的第几周的开始日期
- publicstaticDategetFirstDayOfWeek(intyear,intweek){
- Calendarc=newGregorianCalendar();
- c.set(Calendar.YEAR,year);
- c.set(Calendar.MONTH,Calendar.JANUARY);
- c.set(Calendar.DATE,1);
- Calendarcal=(GregorianCalendar)c.clone();
- cal.add(Calendar.DATE,week*7);
- returngetFirstDayOfWeek(cal.getTime());
- }
- //获取某年的第几周的结束日期
- publicstaticDategetLastDayOfWeek(intyear,intweek){
- Calendarc=newGregorianCalendar();
- c.set(Calendar.YEAR,year);
- c.set(Calendar.MONTH,Calendar.JANUARY);
- c.set(Calendar.DATE,1);
- Calendarcal=(GregorianCalendar)c.clone();
- cal.add(Calendar.DATE,week*7);
- returngetLastDayOfWeek(cal.getTime());
- }
- //获取当前时间所在周的开始日期
- publicstaticDategetFirstDayOfWeek(Datedate){
- Calendarc=newGregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setTime(date);
- c.set(Calendar.DAY_OF_WEEK,c.getFirstDayOfWeek());//Monday
- returnc.getTime();
- }
- //获取当前时间所在周的结束日期
- publicstaticDategetLastDayOfWeek(Datedate){
- Calendarc=newGregorianCalendar();
- c.setFirstDayOfWeek(Calendar.MONDAY);
- c.setTime(date);
- c.set(Calendar.DAY_OF_WEEK,c.getFirstDayOfWeek()+6);//Sunday
- returnc.getTime();
- }
- publicstaticvoidmain(String[]args){
- intyear=2011;
- intweek=1;
- SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
- Datetoday=newDate();
- Calendarc=newGregorianCalendar();
- c.setTime(today);
- System.out.println("currentdate="+sdf.format(today));
- System.out.println("getWeekOfYear="+getWeekOfYear(today));
- System.out.println("getMaxWeekNumOfYear="+getMaxWeekNumOfYear(year));
- System.out.println("getFirstDayOfWeek="+sdf.format(getFirstDayOfWeek(year,week)));
- System.out.println("getLastDayOfWeek="+sdf.format(getLastDayOfWeek(year,week)));
- System.out.println("getFirstDayOfWeek="+sdf.format(getFirstDayOfWeek(today)));
- System.out.println("getLastDayOfWeek="+sdf.format(getLastDayOfWeek(today)));
- }
- }
- 转自:http://blog.csdn.net/dragon1984456/article/details/7094473
Java取一年有多少周、某周的第一天和最后一天
最新推荐文章于 2022-12-29 20:13:01 发布