比如我现在的时间2012-03-21,我想得到它这一周的星期四的日期,也就是2012-03-22,请问这我得怎么得到呢?

解决方案 »

  1.   


        Calendar c=Calendar.getInstance();
        int now=c.get(Calendar.DAY_OF_WEEK);
        int temp=5;//周日是0,所以周四是5
        c.add(Calendar.DATE, temp-now);
        System.out.println(new SimpleDateFormat("yyyy-MM-dd").forma(c.getTime()));
      

  2.   

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;public class TestDateFormate {
     public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date dt=java.sql.Date.valueOf((sdf.format(new java.util.Date())));//sdf.format
        System.out.println("dt"+dt);
        dt=java.sql.Date.valueOf("2008-02-03");//java.sql.Date.valueOf(String str);//其中是字符串类型
        System.out.println("dt"+dt);
    //    格式化处理
        System.out.println(sdf.parse(sdf.format(new java.util.Date())));
        System.out.println("test----->"+sdf.parse("2008-04-01"));//Tue Apr 01 00:00:00 CST 2008
    //    获得年和月,要求格式为200805
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM");
        String ym=sdf1.format(new java.util.Date());
        System.out.println("yearMonth---->"+ym);
    //    获得上一个月的年和月,要求格式为2008-05
        Calendar   cal=Calendar.getInstance();//当前日期   
        cal.set(Calendar.DATE,1);//设为当前月的1号   
        cal.add(Calendar.DATE,-1);//减一天,变为上月最后一天 
        SimpleDateFormat   simpleDateFormat   =   new   SimpleDateFormat("yyyy-MM");   
        System.out.println(simpleDateFormat.format(cal.getTime()));  
    //    练习Calendar.set(...)和Calendar.add(...)方法
        SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd");
        Calendar   ca2=Calendar.getInstance();//当前日期
        ca2.set(Calendar.DATE,11);//设为当前月的11号   
        ca2.add(Calendar.DATE,-1);//减一天,变为10
        System.out.println("2008-04-10:"+sdf3.format(ca2.getTime()));
       }
    }给你段代码研究,我也在看
      

  3.   

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(dateFormat.parse("2012-03-18"));
    int week = calendar.get(Calendar.DAY_OF_WEEK);
    if(week == 1) {//周日算一周的结束需要加入这个判断,如果算
    calendar.add(Calendar.DAY_OF_MONTH, -3);
    } else {
    calendar.add(Calendar.DAY_OF_MONTH, 5 - week);
    }
    System.out.println(dateFormat.format(calendar.getTime()));
    System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
      

  4.   

    public static void main(String[] args) {
      SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
      
      System.out.println("今天  :"+dateformat.format(new Date()));
      
      Calendar c=Calendar.getInstance();  
      
      c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
      Date d1=new Date(c.getTimeInMillis());
      System.out.println("星期一:"+dateformat.format(d1));
      
      
      c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
      Date d2=new Date(c.getTimeInMillis());
      System.out.println("星期四:"+dateformat.format(d2));    
      
     }}
    打印:
    今天  :2012-03-22 
    星期一:2012-03-19 
    星期五:2012-03-23