做項目是需要求同比和環比,在資料庫中操作不是太方便,就將時間操作放在了java程式中。以下是字串類型的時間經過減去一天,一個月,一年以後再轉換為字串類型的時間輸出出來。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Du03 {
public static void main(String[] args) {
String time = "20111224";
try {
SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd");//定義轉換格式
Date date = df.parse(time);//將字串轉換為時間格式用parse
Calendar cal= Calendar.getInstance();//獲得這個類執行個體。
cal.setTime(date);//將date格式轉換為cal類型
cal.add(Calendar.DATE, -1);//日曆 天數減一
Date yesterday =cal.getTime();//昨天 將cal轉換為date
String yesDay=df.format(yesterday);//將date轉換為string格式用format
System.out.println("昨天: "+yesDay);
cal.add(Calendar.DATE, 1);
cal.add(Calendar.MONTH, -1);
Date lastMonthSameDay = cal.getTime();//上個月
String LastMonth=df.format(lastMonthSameDay );
System.out.println("上月: "+LastMonth );
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.YEAR, -1);
Date lastYearSameDay = cal.getTime();//去年
String LastYear=df.format(lastYearSameDay );
System.out.println("去年: "+LastYear );
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}