public class Test {
/**
* @param args
*/
public int year = 0;
public int month = 0;
public int day = 0;
public boolean flag = false;
public static void main(String[] args) {
System.out.println("前一天:" + new Test().getLastDay("20130301"));
}
public String getLastDay(String datestr) {
String dateString = null;
year = Integer.parseInt(datestr.substring(0, 4));
month = Integer.parseInt(datestr.substring(5, 6));
day = Integer.parseInt(datestr.substring(7, 8));
day = day - 1;
if (day == 0) {
month = month - 1;
if (month == 0) {
year = year - 1;
}
}
if (month == 0) {
month = 12;
}
if (day == 0) {
day = getDayByMonth(year, month);
}
dateString = year + "" + month + "" + day;
return dateString;
}
public boolean isLeapYear(int year) {
flag = false;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
flag = true;
}
return flag;
}
public int getDayByMonth(int year, int month) {
int day = 0;
int[] daybymonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (month == 2) {
if (isLeapYear(year)) {
day = 29;
} else {
day = 28;
}
} else {
day = daybymonth[month - 1];
}
return day;
}
}
/**
* @param args
*/
public int year = 0;
public int month = 0;
public int day = 0;
public boolean flag = false;
public static void main(String[] args) {
System.out.println("前一天:" + new Test().getLastDay("20130301"));
}
public String getLastDay(String datestr) {
String dateString = null;
year = Integer.parseInt(datestr.substring(0, 4));
month = Integer.parseInt(datestr.substring(5, 6));
day = Integer.parseInt(datestr.substring(7, 8));
day = day - 1;
if (day == 0) {
month = month - 1;
if (month == 0) {
year = year - 1;
}
}
if (month == 0) {
month = 12;
}
if (day == 0) {
day = getDayByMonth(year, month);
}
dateString = year + "" + month + "" + day;
return dateString;
}
public boolean isLeapYear(int year) {
flag = false;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
flag = true;
}
return flag;
}
public int getDayByMonth(int year, int month) {
int day = 0;
int[] daybymonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (month == 2) {
if (isLeapYear(year)) {
day = 29;
} else {
day = 28;
}
} else {
day = daybymonth[month - 1];
}
return day;
}
}