package com.common.date;
import java.util.Calendar;
/**
* @ClassName: Demo2
* @Author: 南冥有猫不须铭
* @Date: 2021/6/28-18:37
* @Description: Calendar类
*/
public class Demo2 {
public static void main(String[] args) {
//1创建Calendar对象
Calendar calendar = Calendar.getInstance();//其构造方法是protected,无法直接创建(new)对象,所以通过静态方法getInstance()获取
System.out.println(calendar.toString());//输出的东西太多,不是我们需要的
System.out.println(calendar.getTime().toLocaleString());//2021-6-28 19:12:37 返回一个Date表示此日历的时间
System.out.println(calendar.getTimeInMillis());//1624878974809 从1970年1月1日00:00:00到现在的毫秒时间
//2获取时间信息
//获取年
int year = calendar.get(Calendar.YEAR);
//月(返回数从0-11)
int month = calendar.get(Calendar.MONTH);
//日
int day = calendar.get(Calendar.DAY_OF_MONTH);//DATE也行
//时
int hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR(12) HOUR_OF_DAY(24)
//分
int minute = calendar.get(Calendar.MINUTE);
//秒
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);//2021年6月28日20:11:13 month要加1才是当前月份
//3修改时间
Calendar calendar2 = Calendar.getInstance();//获取当前日历
calendar2.set(Calendar.DAY_OF_MONTH,27);//修改时间为昨天
System.out.println(calendar2.getTime().toLocaleString());//2021-6-27 20:11:13
//4add方法修改时间
calendar2.add(Calendar.HOUR,1);//加一个小时时间 (前面表示修改的时间单位,数字是负数时表示减少时间)
System.out.println(calendar2.getTime().toLocaleString());//2021-6-27 21:11:13
//5补充方法
calendar2.add(Calendar.MONTH,1);//加一个月 6+1
int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);//当前时间的这个月的最后一天的最大值
int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);//这个月的时间的最小值
System.out.println(max);//31
System.out.println(min);//1
}
}