我能得到周几!怎么计算这个周几具体的年月日呢
例如:我知道是周1
然后我取当前的系统时间是周2
我就要计算出下周2的具体年月日
如果我得到的是周3
我取当前系统时间是周2我就计算本周3
具体的年月日 主要如果是年底
我不知道怎么能计算出明年的准确日期

解决方案 »

  1.   

    他说的是  if (time < system time)
    {
       next week data;
    }
    else
    {
       this week data
    }年底好办啊你看是12月底就变为1月啦  年+1 日还是从头算啊
      

  2.   

    例如:我从数据库里取出的数据是周1
         然后当前的系统时间是周2
         我就要计算出下周1的具体年月日     如果数据库里取出的是周3(weekdate)
         当前系统时间是周2我就计算本周3(sysdate)
         具体的年月日
    就是说如果当前系统时间的周几如果比从数据库面取出来的周几大的话就推算的是下周的weekdate 
      

  3.   

    例如:我从数据库里取出的数据是周1
         然后当前的系统时间是周2
         我就要计算出下周1的具体年月日     如果数据库里取出的是周3(weekdate)
         当前系统时间是周2我就计算本周3(sysdate)
         具体的年月日
    就是说如果
    当前系统时间的周几如果比从数据库面取出来的周几大的话就推算的是下周的weekdate年月日
    如果
    当前系统时间的周几如果比从数据库面取出来的周几小的话就推算的是本周的weekdate年月日例如
    数据库里取出来的是3
    我获取当前日期是星期1我就要得到该星期的星期3的具体年月日日数据库里取出来的是1
    我获取当前日期是星期2
    我就要取出下星期1的具体年月日 
      

  4.   

    使用DateTime类,只要+7天就可以了。
      

  5.   

    public class TimeDesign {  public static void main(String[] args) {
        Calendar calendar = new GregorianCalendar(2006, 1, 21);
        Calendar calendar1 = new GregorianCalendar();
        int year = calendar.get(Calendar.YEAR);
        int year1 = calendar1.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int month1 = calendar1.get(Calendar.MONTH);
        int week = calendar.get(Calendar.WEEK_OF_MONTH);
        int week1 = calendar1.get(Calendar.WEEK_OF_MONTH);
        if (year == year1 && month == month1 && week == week1) {
          if (calendar.before(calendar1)) {
            calendar.add(calendar.get(Calendar.WEEK_OF_YEAR), 1);       
          }
          int year2 = calendar.get(Calendar.YEAR);
          int month2 = calendar.get(Calendar.MONTH) + 1;
          int date2 = calendar.get(Calendar.DAY_OF_MONTH);
          System.out.println(year2 + " " + month2 + " " + date2);
        } else {
          System.out.println("none");
        }
      }
    }初学者,写得比较烂
      

  6.   

    利用从数据库取得的时间实例化一个Calendar对象,然后调用Calendar.add(DAY_OF_YEAR,7)就搞定了。不用当前系统时间是大还是小
      

  7.   

    Calendar c = Calendar.getInstance();
            
            int dbDay = 2;//monday
            int currDay = c.get(Calendar.DAY_OF_WEEK);
            if(dbDay >= currDay){
                c.add(Calendar.DAY_OF_WEEK,dbDay-currDay);    
            }else{
                c.add(Calendar.DAY_OF_WEEK,dbDay+7-currDay); 
            }
            System.out.println(c.getTime());
      

  8.   

    Calendar c = Calendar.getInstance();
            
            int dbDay = 2;//monday
            int currDay = c.get(Calendar.DAY_OF_WEEK);
            if(dbDay >= currDay){
                c.add(Calendar.DAY_OF_WEEK,dbDay-currDay);    
            }else{
                c.add(Calendar.DAY_OF_WEEK,dbDay+7-currDay); 
            }
            Date d = c.getTime();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            System.out.println(sdf.format(d));
            System.out.println(c.getTime());
      

  9.   

    public static void testcsdn(Date date){
          GregorianCalendar calendar1=new GregorianCalendar();
          GregorianCalendar calendar2=new GregorianCalendar();
          calendar1.setTime(date);
           int weekday1=calendar1.get(Calendar.DAY_OF_WEEK);
           int weekday2=calendar2.get(Calendar.DAY_OF_WEEK);
           //考虑周日大于周一~周六
           if(weekday1==1) weekday1+=7;
           if(weekday2==1) weekday2+=7;
           if(weekday1<weekday2){
             calendar2.add(Calendar.DATE,7+weekday1-weekday2);
           }else{
             calendar2.add(Calendar.DATE,7);
           }       System.out.println("weekday1="+weekday1);
           System.out.println("weekday2="+weekday2);
           System.out.println("calendar2="+calendar2.getTime());
        }
      

  10.   

    正则式+Simpledateformat+calendar解决所有日期问题