package org.example.testTime;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Date不支持全球化,因此java从1.1火了后,立马把Date传日期这种去掉了
* Calendar支持全球化
* Calendar是抽象类,实际实现我们通常是:GregorianCalendar
*/
public class TestCalendar {
public static void main(String[] args) {
// step1.废弃的方式(因为不支持全球化)
Date d1 = new Date(2008 - 1900, 8 - 1, 8, 20, 8, 8);
// step2.用过时的方法构造出Date后,格式化为我们可读的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(d1);
System.out.println("format=" + format); // format=2008-08-08 20:08:08
// step3.使用支持全球化的Calendar
Calendar instance = Calendar.getInstance();
instance.set(2008, 8 - 1, 8, 20, 8, 8);
// 可以设置周等
instance.set(Calendar.YEAR, 2018);
// 可以使用getTimeInMillis
Date d3 = instance.getTime();
System.out.println("d3=" + sdf.format(d3)); // d3=2018-08-08 20:08:08
// step4.add方法增加差值(此处以月为例子)
instance.add(Calendar.MONTH, 2);
Date d4 = instance.getTime();
System.out.println("d4=" + sdf.format(d4)); // d4=2018-10-08 20:08:08
}
}
|