import java.text.SimpleDateFormat;
import java.util.Date;
public class OfterDate {
/**
* 计算X天后的日期(天数不要大于28)
*
* @param x
* @return
*/
public static String ofterDayDate(int x) {
Date date = new Date();
int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month = Integer.parseInt(new SimpleDateFormat("MM").format(date));
int day = Integer.parseInt(new SimpleDateFormat("dd").format(date)) + x;
if (day > 30 && (month == 4 || month == 6 || month == 9 || month == 11)) {
day = day - 30;
if (month == 12) {
month = 1;
year = year + 1;
} else {
month = month + 1;
}
} else if (day > 31
&& (month == 1 || month == 3 || month == 5 || month == 7
|| month == 8 || month == 10 || month == 12)) {
day = day - 31;
if (month == 12) {
month = 1;
year = year + 1;
} else {
month = month + 1;
}
} else if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
if (day > 29) {
day = day - 29;
month = 3;
}
} else {
if (day > 28) {
day = day - 28;
month = 3;
}
}
}
String y = year + "-";
String m = "";
String d = "";
if (month < 10)
m = "0" + month + "-";
else
m = month + "-";
if (day < 10)
d = "0" + day;
else
d = day + "";
return y + m + d;
}
/**
* 计算x月后的日期
*
* @param x
* @return
*/
public static String ofterMonthDate(int x) {
Date date = new Date();
int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month = Integer.parseInt(new SimpleDateFormat("MM").format(date))
+ x;
int day = Integer.parseInt(new SimpleDateFormat("dd").format(date));
if (month > 12) {
year += month/12;
month = month%12;
}
if (day > 28) {
if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
day = 29;
} else
day = 28;
} else if ((month == 4 || month == 6 || month == 9 || month == 11)
&& day == 31) {
day = 30;
}
}
String y = year + "-";
String m = "";
String d = "";
if (month < 10)
m = "0" + month + "-";
else
m = month + "-";
if (day < 10)
d = "0" + day;
else
d = day + "";
return y + m + d;
}
}
[size=medium]有错误欢迎留言纠正!![/size]