import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
test2();
}
public static void test1() {
//求距20080906这一天有3个月12天的日期,
//并格式化输出。要求使用3种方式设置日期
Date d = new Date(1000000000000L);
//1.先确定这是哪天 是20081218
//2.1970-01-01 00:00:00 格林威治天文时间
//2.2008-12-18 00:00:00 北京时间
//2.把上面的北京时间切换为格林威治天文时间
//3.两个日期作差(2008-1970),算出天数
//4.使用天数*1000*60*60*24得出毫秒值 假设结果是 10000
d.setTime(1000000000000L);//或者new Date(10000L);
//这时日期对象d就变成了我们想要的日期了
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(d);
System.out.println(result);
}
public static void test2() {
//更清晰 更准确
Calendar c = Calendar.getInstance();
c.set(2008, 8, 6);//先拿到基准时间
c.add(Calendar.MONTH, 3);
c.add(Calendar.DAY_OF_MONTH, 12);
Date d = c.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(d);
System.out.println(result);
}
public static void test3() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d;
try {
d = sdf.parse("2008-12-18 00:00:00");
//
String result = sdf.format(d);
System.out.println(result);
} catch (ParseException e) {
e.printStackTrace();
}
}
}