int date = new Date().getDay();这个求出来的是今天是星期几,我要根据这个date求出date这周,周一和周日的年月日,格工是2008-03-07,有什么好的算法吗,我想出来的是用if进行比较,我觉得不太好,大家有什么好的算法吗,谢谢了!

解决方案 »

  1.   

    getDate()才是日期。
    getDay()是获得星期。
      

  2.   

    这个求出来的是今天是星期几,我要根据这个date求出date这周,周一和周日的年月日,格工是2008-03-07,沒看懂
      

  3.   

    这样吧
    一般Data已经过时了,用Calendar
      Calendar c = Calendar.getInstance();
      System.out.println("now"+c.getTime());
      c.add(Calendar.DAY_OF_WEEK,-c.get(Calendar.DAY_OF_WEEK)+1);
      System.out.println("sunday"+c.getTime());
      c.add(Calendar.DAY_OF_WEEK,1);
      System.out.println("monday"+c.getTime());C:\java>java test
    nowFri Mar 07 12:35:29 CST 2008
    sundaySun Mar 02 12:35:29 CST 2008
    mondayMon Mar 03 12:35:29 CST 2008
      

  4.   

    6楼的没写错,楼主你把3.4号的date给set到c这个Calendar里不就好了,改下6楼代码import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;public class tttttttttttt {    public static void main(String[] args) throws ParseException {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date = sdf.parse("2008/03/04 08:00:00");
            
            Calendar c = Calendar.getInstance();
            c.setTime(date);//set 3.4 date
            System.out.println("now" + c.getTime());
            c.add(Calendar.DAY_OF_WEEK, -c.get(Calendar.DAY_OF_WEEK) + 1);
            System.out.println("sunday" + c.getTime());
            c.add(Calendar.DAY_OF_WEEK, 1);
            System.out.println("monday" + c.getTime());
        }
    }