我已经找到给一个日期可以取到那个日期是周几的方法了~
不知道有没有方法可以取到那周周一和周日的日期~
谢谢

解决方案 »

  1.   

    这还不简单,假设日期是yymmdd,已经知道是周n了,则 dd-(n-1)则是这周周一的日期,dd-(n-5)则是这周周五的日期嘛.
      

  2.   

    njwangchuan(川儿) 的算法显然是不对的,
    难道不存在月份的交叉?
      

  3.   

    我曾经自己编了一个,不过是用delphi写的,原理如下:
     一、年分平、润年有算法 ;
     二、2月分28,29日,主要是平,润年之分;
     三、任定一个标准日,如20050710是星期日,可用(0--星期日,1-星期一,...)
     四、将2005.07.10转为日,如 2005*10000+07*31+10(相当于二进制转换算法)
     五、则任一天也转为这种值,再算差就可以了。
     六、最后取 mod
    希望你能明白。
      

  4.   

    //判断日期为星期几,0为星期六,依此类推
    public static int dayOfWeek(Date date)
    {
        //首先定义一个calendar,必须使用getInstance()进行实例化
        Calendar aCalendar=Calendar.getInstance();
        //里面野可以直接插入date类型
        aCalendar.setTime(date);
        //计算此日期是一周中的哪一天
        int x=aCalendar.get(Calendar.DAY_OF_WEEK);
        return x;
    }
      

  5.   

    传Date类型可不是一个好的方法!
    public static void main(String args[]){
      Calendar calendar = Calendar.getInstance();
      calendar.set(2002,2,1);
      int x= calendar.get(Calendar.DAY_OF_WEEK);
      System.out.print( x );
    }
    //out:6
      

  6.   

    /*
     * Created on 2005-7-11
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    package com.redtroy;import java.util.GregorianCalendar;/**
     * @author redtroy
     *
     * TODO To change the template for this generated type comment go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    public class CSDN1 { public static void main(String[] args) {
    GregorianCalendar gc=new GregorianCalendar();

    gc.set(2005,7-1,10);
    /*
     * Sunday=1;
     * Monday=2;
     * ................
     * Saturday=7;
     */

    int nowdayofweek=gc.get(GregorianCalendar.DAY_OF_WEEK);
    int thissunday;
    if(nowdayofweek==1){
    thissunday=0;
    }else{
    thissunday=-(nowdayofweek-7-1);
    }
    /*
     * 周日
     * 
     * gc.add(GregorianCalendar.DAY_OF_WEEK,thissunday);
     * System.out.println(gc.getTime().toLocaleString());*/
    /*
     *周一 
     * gc.add(GregorianCalendar.DAY_OF_WEEK,thissunday-6);
     * System.out.println(gc.getTime().toLocaleString());*/
    }
    }
      

  7.   

    //import java.text.SimpleDateFormat;
    //import java.util.Date;
    //import java.util.Calendar;
    public static void dayOfWeek()
      {
        Date today=new Date();
        Calendar cal=Calendar.getInstance();
        cal.setTime(today);
        int between=cal.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println("today is "+between);
        int subMonday=0;
        if (between>=1&&between<=6)
        {
          subMonday=1-between;
        }
        else if (between==0)
        {
          subMonday=-6;
        }
        cal.add(Calendar.DAY_OF_MONTH,subMonday);
        System.out.println("monday is "+new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()));
        cal.add(Calendar.DAY_OF_MONTH,6);
        System.out.println("sunday is "+new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()));    //System.out.println("sunday is "+Calendar.SUNDAY);
      }