不是用脚本实现,是用JAVA里的类来实现!自己写类也可以!
例如:得到2005-11-15日期,怎么获得2005-11-13到2005-11-19的日期啊!它们都在同一周。
在线急需!

解决方案 »

  1.   

    java里面有个日历类,你可以去看看,上面有方法的!
      

  2.   

    看看 Calendar 类的 doc文档,你就明白了
      

  3.   

    记住:Calendar 是个非常强大的类,你的需求很简单,给你代码吧,我有注释的/*
     * 创建日期 2005-3-30package com.infoearth;import java.sql.Timestamp;
    import java.text.SimpleDateFormat;
    import java.util.*;
    /**
     * @毛爷爷
     *
    public class ManageWeek {
     //判断两个日期是否在同一周
     boolean isSameWeekDates(Date date1, Date date2) {
      Calendar cal1 = Calendar.getInstance();
      Calendar cal2 = Calendar.getInstance();
      cal1.setTime(date1);
      cal2.setTime(date2);
      int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
      if (0 == subYear) {
        if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
       return true;
      }
      else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
        // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
        if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
       return true;
      }
      else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
        if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
       return true;
      }
      return false;
     }
     
     
     //产生周序列
     public static String  getSeqWeek(){
      Calendar c = Calendar.getInstance(Locale.CHINA);
      String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
      if(week.length()==1)week = "0" + week;
      String year = Integer.toString(c.get(Calendar.YEAR));  
      return year+week;
      
     }
      
      //获得周一的日期
      public static String getMonday(Date date){
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
       return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
      }
      
      
      //获得周五的日期
      public static String getFriday(Date date){
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);   
       return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
       
       
      }
      
      public static void main(String[] args){  }}
      

  4.   

    Calendar oDate = Calendar.getInstance();
    oDate.set(2005,11 -1,15); oDate.roll(Calendar.DATE,(-1) * (oDate.get(Calendar.DAY_OF_WEEK)));

    for (int i = 1;i<8;i++){
    oDate.roll(Calendar.DATE,1);
    System.out.println(oDate.get(Calendar.YEAR) + "-" + 
    (oDate.get(Calendar.MONTH) + 1) + "-" +
    oDate.get(Calendar.DATE));
    }
      

  5.   

    改一下,
    roll方法用了add来替换。 Calendar oDate = Calendar.getInstance();
    oDate.set(2005,11 -1,15); oDate.roll(Calendar.DATE,(-1) * (oDate.get(Calendar.DAY_OF_WEEK)));

    for (int i = 1;i<8;i++){
    oDate.add(Calendar.DATE,1);
    System.out.println(oDate.get(Calendar.YEAR) + "-" + 
    (oDate.get(Calendar.MONTH) + 1) + "-" +
    oDate.get(Calendar.DATE));
    }
      

  6.   

    不好意思,少改了一个。注意月份要减去1就是了。因为Calendar的月份从0-11,表示1-12月。Calendar oDate = Calendar.getInstance();
    oDate.set(2005,11 -1,15);oDate.add(Calendar.DATE,(-1) * (oDate.get(Calendar.DAY_OF_WEEK)));

    for (int i = 1;i<8;i++){
    oDate.add(Calendar.DATE,1);
    System.out.println(oDate.get(Calendar.YEAR) + "-" + 
    (oDate.get(Calendar.MONTH) + 1) + "-" +
    oDate.get(Calendar.DATE));
    }
      

  7.   

    Croatia你好!我是不是把你写的这段代码写了就可以了啊!
    Calendar oDate = Calendar.getInstance();
    oDate.set(2005,11 -1,15);oDate.add(Calendar.DATE,(-1) * (oDate.get(Calendar.DAY_OF_WEEK)));

    for (int i = 1;i<8;i++){
    oDate.add(Calendar.DATE,1);
    System.out.println(oDate.get(Calendar.YEAR) + "-" + 
    (oDate.get(Calendar.MONTH) + 1) + "-" +
    oDate.get(Calendar.DATE));
    }
    不用在ICIIC(毛爷爷)的那么长的一段代码了吧!
      

  8.   

    yehan1981 (野汉) :我给你的代码长,那是因为有4个方法在里面,你只需要参考其中的一个方法就可
      

  9.   

    public static String getMonday(Date date){
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
       return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
      }
    这个方法是不是可以获得任何日期所在周的周一的日期啊!
    例如2005-11-15把这个传进去是不是就获得了2005-11-13的日期了啊!
    getMonday(2005-11-15)返回的是不是2005-11-13
      

  10.   

    IcIIc1987:
    你写的获得周几日期的方法对吗 ?
      

  11.   

    是的,只是需要这些,其实,ICIIC(毛爷爷)的代码里面有很多,你不需要的,呵呵,去掉了,就不长了。
      

  12.   

    yehan1981(野汉):我测试过,我的代码当然正确。
    别人辛辛苦苦的帮助你,你却不动手试验,还发这样的疑问。还有谁会帮助你?