开场白:代码啊,代码,程序猿啊,程序猿。为啥你就这来的杯具了。发一下小牢骚。发现自从做了程序猿之后,本来就性格内向且不爱说话的我,现在变的更加的有点不会说话了。你说。这样我情何以堪。下个礼拜就要参加同学的婚礼了。哎,到目前为止,我还没对象。是can not find object了么。why。到现在还不知道exception到底出在了哪里。今天上班。办公室气氛不知为什么气氛特别的冷清,僵直。而且我今天还和同事搞 的特别的不高兴。就为了那点破代码的事情。就为了那几个破bug的事情,搞 的人和人之间隔阂重重,你说着是我想要的么。我都有一点不想干IT这行了。之前在我还是一位标准的菜鸟之前,虽然什么都不会,都处在一个学习的阶段,但是很快乐。到现在了。自己的技术也比以前提升了。可是我却莫名的感到了,在处理人和人之间的情感和关系这件事情上变的却来却沉默,不想和别人吵,争论是非。到底是谁对谁错,确实是这样,事实本来就没有谁对谁错,俗话说的好。跟同事讲道理你是不想混了。。。。等等。可为啥我就一下子接受不了这样子呢。废话不多说,就是因为以下这些该死的代码。把我整的今天都没过好。亮相:

public String getWeekDate(int week){
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Calendar c = Calendar.getInstance();
		 
        // 默认时,每周第一天为星期日,需要更改一下
        c.setFirstDayOfWeek(Calendar.MONDAY);
 
        Date current = c.getTime();
 
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        Date first = c.getTime();
 
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        Date last = c.getTime();
        
        String dateFirst = dateFormat.format(first);
        String dateSecond = dateFormat.format(last);
        System.out.printf("当前日期:%tF%n", current);
        System.out.printf("本周第一天(周一):%tF%n", first);
        System.out.printf("本周最后一天(周日):%tF%n", last);
        return DatetoDate(dateFirst, dateSecond, week);
	}

以上代码解释,可求出当前时间范围内一周的日期。

以下是求出两个起始时间范围内指周几的所有日期

public String DatetoDate(String dateFirst,String dateSecond,int week){
		System.out.println("starttime"+dateFirst+"endtime"+dateSecond+"week"+week);
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		String date2datestr=""; //返回的星期字符串
        try{
            Date dateOne = dateFormat.parse(dateFirst);
            Date dateTwo = dateFormat.parse(dateSecond);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(dateOne);
            while(calendar.getTime().compareTo(dateTwo)<=0){
            	String datestr_l = dateFormat.format(calendar.getTime());
            	Date date = dateFormat.parse(datestr_l);
            	int day = date.getDay()==0?7:date.getDay();
            	if(week==day){
            		date2datestr=datestr_l;//每个日期
            	}
                calendar.add(Calendar.DAY_OF_MONTH, 1);                
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return date2datestr;
	}

因为一开始不知道知道当前的时间求出这一周之内的所有日期。搞的和同事不好了。因为这块本来是他的活,但是他那边现在有活,而且看他比较烦躁所以我就自己做了。代码给大家分享出来。还希望大家多多指点。同事也希望大家不要为此困惑。