1. Date类: java.util.Date
- 时间原点:1970年1月1日00:00:00(中国+8小时)
System.currentTimeMillis()计算当前时间到原点经历的毫秒数- 无参构造:当前系统时间
toLocalString()方法:按当地习惯打印时间
1 Date date = new Date();
2 System.out.println(date);//打印当前时间Tue Jul 28 20:57:42 CST 2020
4. 带参数构造:传入相对原点的毫秒,打印其对应时间
1 Date date = new Date(0L);
2 System.out.println(date); //Thu Jan 01 08:00:00 CST 1970
3 Date date1 = new Date(System.currentTimeMillis());
4 System.out.println(date1); //Tue Jul 28 21:02:32 CST 2020
5. long getTime(Date) 把Date类型的日期转换为毫秒,无参数时相当于System.currentTimeMillis()
2. DateFormat类: java.text.DateFormat
- 是一个抽象类。继承自Format抽象类。
- 可以使用它的子类:SimpleDateFormat类
- 格式化日期为文本、解析文本为日期
String format(Date date): 按照指定模式把日期解析为文本Date parse(String source): 把符合标准的字符串解析为Date日期SimpleDateFormat中

如:"yyyy-MM-dd HH:mm:ss", "yyyy年MM月dd日 HH时mm分ss秒"
1 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2 Date date= new Date(); //得到当前时间
3 String standardDate = simpleDateFormat.format(date);
4 System.out.println(standardDate); //2020-07-28 21:24:36
5
6 date = simpleDateFormat.parse(standardDate); //必须和构造方法中的格式一样
7 System.out.println(date); //Tue Jul 28 21:28:38 CST 2020
3. Calendar类: java.util.calendar
- 是一个抽象类,提供了很多操作日历字段的方法
- 无法直接创建对象,里面有一个getInstance()方法返回一个Canlendar类的子类对象
public int get(int field): 返回给定日历字段的值public void set(int field , int value): 将给定的日历字段设置为给定值public abstract void add(int field, int amount): 根据日历规则,给日历字段增减指定的时间量public Date getTime(): 返回表示此Calendar时间毫秒数的Date对象

1 Calendar c = Calendar.getInstance(); //返回Calendar类的子类对象,多态
2 int year = c.get(Calendar.YEAR); //2020,YEAR是常量1,是field
3 int month = c.get(Calendar.MONTH); //6
4 int date = c.get(Calendar.DATE); //28
5 System.out.println(year+"-"+(month+1)+"-"+date); //2020-7-281 Calendar c = Calendar.getInstance(); //返回Calendar类的子类对象,多态
2
3 c.set(Calendar.YEAR, 2222); //单独设置某个字段
4 c.set(3333, 11,12); //全部一起设置
5 year = c.get(Calendar.YEAR);
6 month = c.get(Calendar.MONTH);
7 date = c.get(Calendar.DATE);
8 System.out.println(year+"-"+(month+1)+"-"+date); //3330-12-121 Date ddate = c.getTime();
2 System.out.println(ddate); //Tue Dec 12 22:48:25 CST 3330