例如:
給你一個日期為2006/2/14,那麼這一天所在周的第一天的日期為2006/2/12,最後一天為2006/2/18,
請問給你2006/2/14,如何得到2006/2/12和2006/2/18?Java中是否提供這樣的類或方法,或者如何用一個比較簡便的方法實現該功能?此外,如何知道2006/2/14是2006年的第幾周?

解决方案 »

  1.   

    1.调用Calendar.setTime(Date date)  参数中填写指定日期。
    2.Calendar.WEEK_OF_YEAR获得你要的结果
      

  2.   

    import java.util.GregorianCalendar;
    import java.util.Calendar;
    import java.text.SimpleDateFormat;
    import java.util.Date;public class CalDate{
    public static void main(String[] args){
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(new Date());
        
         //一年的第幾周
         System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
        
         //得到今天是星期几,星期日为1
         int datInWeek = calendar.get(Calendar.DAY_OF_WEEK);
        
         //Clone一个新的
         Calendar calendar1 = (Calendar)calendar.clone();
        
         //所在周的第一天
         calendar.add(Calendar.DAY_OF_MONTH, -(datInWeek - 1));
         System.out.println(format.format(calendar.getTime()));
        
         //所在周的最后一天
         calendar1.add(Calendar.DAY_OF_MONTH, 7 - datInWeek);
         System.out.println(format.format(calendar1.getTime()));
        }
    }