我想求出 系统七天前的时间,怎么总是出错,
package com.pa;
public class DateTest
{
private String year;
private String month;
private String day;
private int yy,mm,dd;
//初始化是取得系统时间
public DateTest()
{
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date currentTime = new java.util.Date();
String date = formatter.format(currentTime);
year = date.substring(0,4);
month = date.substring(5,7);
day = date.substring(8,10);
yy = Integer.parseInt(year);
mm = Integer.parseInt(month);
dd = Integer.parseInt(day);
}
//得到昨天的时间
public int getLastMonthDay(int MM)
{
int new_mm = MM-1;
int new_dd;
if(yy%4==0)//判断闰年,平年,得到二月的实际天数
{
new_dd=29;
}
else if(new_mm==1||new_mm==3||new_mm==5||new_mm==7||new_mm==8||new_mm==10||new_mm==12)//判断月份,得到除二月外的具体天数
{
new_dd=31;
}
else if(mm==4||mm==6||mm==9||mm==11)
{
new_dd=30;
}
else
{
new_dd=28;
}
return new_dd;
}
public String getYesterdayTime()
{
String yesterday;
int dd = Integer.parseInt(day);
if(dd==1)
{
if(mm==1)
{
yesterday = String.valueOf(yy-1)+"-12-31";
}
else
{
yesterday = year+"-"+String.valueOf(mm-1)+"-"+String.valueOf(getLastMonthDay(mm));
}
}
else
{
yesterday = year+"-"+month+"-"+String.valueOf(dd-1);
}
return yesterday;
}
//得到上个礼拜的时间
public String getLastWeekTime()
{
String lastWeekTime;
if(dd<7)
{
if(mm==1)
{
lastWeekTime = String.valueOf(yy-1)+"-12"+"-"+String.valueOf(31+dd-7);
}
else
{
int m = mm-1;
int d = getLastMonthDay(mm)+dd-7;
lastWeekTime = year+"-"+String.valueOf(m)+"-"+String.valueOf(d);
}
}
if(dd==7)
{
if(mm==1)
{
lastWeekTime = String.valueOf(yy-1)+"-12-31";
}
else
{
lastWeekTime = year+"-"+String.valueOf(mm-1)+"-"+String.valueOf(getLastMonthDay(mm));
}
}
else
{
lastWeekTime = year+"-"+month+"-"+String.valueOf(dd-7);
}
return lastWeekTime;
}
//得到上个月的时间
public String getLastMonth()
{
String lastMonthDay;
if(mm==1)
{
lastMonthDay = String.valueOf(yy-1)+"-12-31";
}
else
{
lastMonthDay = year+"-"+String.valueOf(mm-1)+"-"+day;
}
return lastMonthDay;
}
//得到上个季度时间
public String getLastQuarterTime()
{
String lastQuarterTime;
String startMonthTime = null;
String endMonthTime = null;
if(mm>=1&&mm<=3)
{
startMonthTime = String.valueOf(yy-1)+"-10-31";
endMonthTime = String.valueOf(yy-1)+"-12-31";
}
if(mm>=4&&mm<=6)
{
startMonthTime = year+"-01-31";
endMonthTime = year+"-03-31";
}
if(mm>=7&&mm<=9)
{
startMonthTime = year+"-04-30";
endMonthTime = year+"-06-30";
}
if(mm>=10&&mm<=12)
{
startMonthTime = year+"-07-31";
endMonthTime = year+"-09-30";
}
lastQuarterTime = startMonthTime+"*"+endMonthTime;
return lastQuarterTime;
}
public static void main(String args[])
{
DateTest dt = new DateTest();
String lastweek = dt.getLastWeekTime();
System.out.print(lastweek);
}
}