package com.cz.test;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TestTime {
/**
* 得到几天前的时间
* @param d
* @param day
* @return
*/
public static Date getDateBefore(Date d,int day){
Calendar now =Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE,now.get(Calendar.DATE)-day);
return now.getTime();
}

/**
* 得到几天后的时间
* @param d
* @param day
* @return
*/
public static Date getDateAfter(Date d,int day){
Calendar now =Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE,now.get(Calendar.DATE)+day);
return now.getTime();
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestTime testTime=new TestTime();
Date date=new Date();
System.out.println("当前时间:"+date);
Date d1=testTime.getDateBefore(date, 1);
System.out.println("之前时间:"+d1.toLocaleString());
Date d2=testTime.getDateAfter(date, 1);
System.out.println("之后时间:"+d2);
System.out.println("****************************");
// 得到当前日期
Calendar calendar1 = Calendar.getInstance();
// 加上1天
calendar1.add(Calendar.DAY_OF_YEAR, 1);
// 时间格式化
SimpleDateFormat mFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 输出日期
System.out.println(mFormat1.format(calendar1.getTime()));
// 一星期的第几天(星期天为第一天)
System.out.println(calendar1.get(Calendar.DAY_OF_WEEK));
// 得到当前日期
Calendar calendar2 = Calendar.getInstance();
System.out.println("****************************");
// 减去1天
calendar2.add(Calendar.DAY_OF_YEAR, -1);
// 时间格式化
SimpleDateFormat mFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 输出日期
System.out.println(mFormat2.format(calendar2.getTime()));
// 一星期的第几天(星期天为第一天)
System.out.println(calendar2.get(Calendar.DAY_OF_WEEK));

}

}

 

控制台输出:

当前时间:Thu Sep 20 10:19:52 CST 2012
之前时间:2012-9-19 10:19:52
之后时间:Fri Sep 21 10:19:52 CST 2012
****************************
2012-09-21 10:19:52
6
****************************
2012-09-19 10:19:52
4