// 获得本周一的日期

public String getMondayOFWeek() {

	weeks = 0;

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



// 获得相应周的周六的日期

public String getSaturday() {

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



// 获得上周星期日的日期

public String getPreviousWeekSunday() {

	weeks = 0;

	weeks--;

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus + weeks);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



// 获得上周星期一的日期

public String getPreviousWeekday() {

	weeks--;

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



// 获得下周星期一的日期

public String getNextMonday() {

	weeks++;

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus + 7);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



// 获得下周星期日的日期

public String getNextSunday() {

	int mondayPlus = this.getMondayPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 + 6);

	Date monday = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preMonday = df.format(monday);

	return preMonday;

}



private int getMonthPlus() {

	Calendar cd = Calendar.getInstance();

	int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH);

	cd.set(Calendar.DATE, 1);// 把日期设置为当月第一天

	cd.roll(Calendar.DATE, -1);// 日期回滚一天,也就是最后一天

	MaxDate = cd.get(Calendar.DATE);

	if (monthOfNumber == 1) {

		return -MaxDate;

	} else {

		return 1 - monthOfNumber;

	}

}



// 获得上月最后一天的日期

public String getPreviousMonthEnd() {

	String str = "";

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

	Calendar lastDate = Calendar.getInstance();

	lastDate.add(Calendar.MONTH, -1);// 减一个月

	lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天

	lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天

	str = sdf.format(lastDate.getTime());

	return str;

}



// 获得下个月第一天的日期

public String getNextMonthFirst() {

	String str = "";

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

	Calendar lastDate = Calendar.getInstance();

	lastDate.add(Calendar.MONTH, 1);// 减一个月

	lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天

	str = sdf.format(lastDate.getTime());

	return str;

}



// 获得下个月最后一天的日期

public String getNextMonthEnd() {

	String str = "";

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

	Calendar lastDate = Calendar.getInstance();

	lastDate.add(Calendar.MONTH, 1);// 加一个月

	lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天

	lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天

	str = sdf.format(lastDate.getTime());

	return str;

}



// 获得明年最后一天的日期

public String getNextYearEnd() {

	String str = "";

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

	Calendar lastDate = Calendar.getInstance();

	lastDate.add(Calendar.YEAR, 1);// 加一个年

	lastDate.set(Calendar.DAY_OF_YEAR, 1);

	lastDate.roll(Calendar.DAY_OF_YEAR, -1);

	str = sdf.format(lastDate.getTime());

	return str;

}



// 获得明年第一天的日期

public String getNextYearFirst() {

	String str = "";

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

	Calendar lastDate = Calendar.getInstance();

	lastDate.add(Calendar.YEAR, 1);// 加一个年

	lastDate.set(Calendar.DAY_OF_YEAR, 1);

	str = sdf.format(lastDate.getTime());

	return str;

}



// 获得本年有多少天

private int getMaxYear() {

	Calendar cd = Calendar.getInstance();

	cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天

	cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。

	int MaxYear = cd.get(Calendar.DAY_OF_YEAR);

	return MaxYear;

}



private int getYearPlus() {

	Calendar cd = Calendar.getInstance();

	int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);// 获得当天是一年中的第几天

	cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天

	cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。

	int MaxYear = cd.get(Calendar.DAY_OF_YEAR);

	if (yearOfNumber == 1) {

		return -MaxYear;

	} else {

		return 1 - yearOfNumber;

	}

}



// 获得本年第一天的日期

public String getCurrentYearFirst() {

	int yearPlus = this.getYearPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, yearPlus);

	Date yearDay = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preYearDay = df.format(yearDay);

	return preYearDay;

}



// 获得本年最后一天的日期 *

public String getCurrentYearEnd() {

	Date date = new Date();

	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式

	String years = dateFormat.format(date);

	return years + "-12-31";

}



// 获得上年第一天的日期 *

public String getPreviousYearFirst() {

	Date date = new Date();

	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式

	String years = dateFormat.format(date);

	int years_value = Integer.parseInt(years);

	years_value--;

	return years_value + "-1-1";

}



// 获得上年最后一天的日期

public String getPreviousYearEnd() {

	weeks--;

	int yearPlus = this.getYearPlus();

	GregorianCalendar currentDate = new GregorianCalendar();

	currentDate.add(GregorianCalendar.DATE, yearPlus + MaxYear * weeks

			+ (MaxYear - 1));

	Date yearDay = currentDate.getTime();

	DateFormat df = DateFormat.getDateInstance();

	String preYearDay = df.format(yearDay);

	getThisSeasonTime(11);

	return preYearDay;

}



// 获得本季度

public String getThisSeasonTime(int month) {

	int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };

	int season = 1;

	if (month >= 1 && month <= 3) {

		season = 1;

	}

	if (month >= 4 && month <= 6) {

		season = 2;

	}

	if (month >= 7 && month <= 9) {

		season = 3;

	}

	if (month >= 10 && month <= 12) {

		season = 4;

	}

	int start_month = array[season - 1][0];

	int end_month = array[season - 1][2];

	Date date = new Date();

	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式

	String years = dateFormat.format(date);

	int years_value = Integer.parseInt(years);

	int start_days = 1;// years+"-"+String.valueOf(start_month)+"-";//getLastDayOfMonth(years_value,start_month);

	int end_days = getLastDayOfMonth(years_value, end_month);

	String seasonDate = years_value + "-" + start_month + "-" + start_days

			+ ";" + years_value + "-" + end_month + "-" + end_days;

	return seasonDate;

}



/**

 * 获取某年某月的最后一天

 * 

 * @param year

 *            年

 * @param month

 *            月

 * @return 最后一天

 */

private int getLastDayOfMonth(int year, int month) {

	if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8

			|| month == 10 || month == 12) {

		return 31;

	}

	if (month == 4 || month == 6 || month == 9 || month == 11) {

		return 30;

	}

	if (month == 2) {

		if (isLeapYear(year)) {

			return 29;

		} else {

			return 28;

		}

	}

	return 0;

}



/**

 * 是否闰年

 * 

 * @param year

 *            年

 * @return

 */

public boolean isLeapYear(int year) {

	return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);

}

}

输出结果如下

得到6个月后的日期:2016-10-04

获取当天日期:2016-04-10

获取本周一的日期:2016-4-11

获取本周日的日期~:2016-4-17

获取上周一日期:2016-4-4

获取上周日日期:2016-4-10

获取下周一日期:2016-4-18

获取下周日日期:2016-4-24

获得相应周的周六:2016-04-10

获取本月第一天日期:2016-04-01

获取本月最后一天日期:2016-04-30

获取上月第一天日期:2016-03-01

获取上月最后一天的日期:2016-03-31

获取下月第一天日期:2016-05-01

获取下月最后一天日期:2016-05-31

获取本年的第一天日期:2016-1-1

获取本年最后一天日期:2016-12-31

获取去年的第一天日期:2015-1-1

获取去年的最后一天日期:2015-12-31

获取明年第一天日期:2017-01-01

获取明年最后一天日期:2017-12-31

获取本季度第一天到最后一天:2016-10-1;2016-12-31

获取两个日期之间间隔天数2008-10-26~2016-10-26: 2922

2016 3 10

=LastWeek Days=

2016-04-11

2016-04-12

2016-04-13

2016-04-14

2016-04-15

2016-04-16

2016-04-17

2016年3月有 31天

=ThisMonth Days=

16-4-1 下午7:48

16-4-2 下午7:48

16-4-3 下午7:48

16-4-4 下午7:48

16-4-5 下午7:48

16-4-6 下午7:48

16-4-7 下午7:48

16-4-8 下午7:48

16-4-9 下午7:48

16-4-10 下午7:48

16-4-11 下午7:48

16-4-12 下午7:48

16-4-13 下午7:48

16-4-14 下午7:48

16-4-15 下午7:48

16-4-16 下午7:48

16-4-17 下午7:48

16-4-18 下午7:48

16-4-19 下午7:48

16-4-20 下午7:48

16-4-21 下午7:48

16-4-22 下午7:48

16-4-23 下午7:48

16-4-24 下午7:48

16-4-25 下午7:48

16-4-26 下午7:48

16-4-27 下午7:48

16-4-28 下午7:48

16-4-29 下午7:48

16-4-30 下午7:48

=LastMonth Days=

16-3-1 下午7:48

16-3-2 下午7:48

16-3-3 下午7:48

16-3-4 下午7:48

16-3-5 下午7:48

16-3-6 下午7:48

16-3-7 下午7:48

16-3-8 下午7:48

16-3-9 下午7:48

16-3-10 下午7:48

16-3-11 下午7:48

16-3-12 下午7:48

16-3-13 下午7:48

16-3-14 下午7:48

16-3-15 下午7:48

16-3-16 下午7:48

16-3-17 下午7:48

16-3-18 下午7:48

16-3-19 下午7:48

16-3-20 下午7:48

16-3-21 下午7:48

16-3-22 下午7:48

16-3-23 下午7:48

16-3-24 下午7:48

16-3-25 下午7:48

16-3-26 下午7:48

16-3-27 下午7:48

16-3-28 下午7:48

16-3-29 下午7:48

16-3-30 下午7:48

16-3-31 下午7:48

**获取当前最近几天的日期**

/**

* 获取指定日期的时间,返回格式为2016-08-07

 * @param count <br/>

 * -1 表示昨天的日期<br/>

 * 0  表示今天的日期<br/>

 * 1 表示明天的日期

 * @return

 */

public static String getCustomDate(int count){

    Date date = new Date();//取时间

    Calendar calendar = new GregorianCalendar();

    calendar.setTime(date);

    calendar.add(calendar.DATE, count);//把日期往后增加一天.整数往后推,负数往前移动

    date = calendar.getTime(); //这个时间就是日期往后推一天的结果

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

    String dateString = formatter.format(date);

    return dateString;

}



    public static String getCustomDate(int count){

        Date date = new Date();//取时间

        Calendar calendar = new GregorianCalendar();

        calendar.setTime(date);

        calendar.add(calendar.DATE, count);//把日期往后增加一天.整数往后推,负数往前移动

        date = calendar.getTime(); //这个时间就是日期往后推一天的结果

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        String dateString = formatter.format(date);

        return dateString;

    }

对以上内容有什么疑惑或错误的,欢迎留言批评指正!