目录
什么是Calendar日历类型?
Calendar类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。Calendar英文含义为日历、挂历、日程表
为什么要用Calendar日历类型?
1、Calendar日历,主要用来处理时间,例如获取事件的某个部分,改变时间的某个部分,对时间进行加减操作等
2、Calendar日历与Date的区别,Date主要是获取一个日期的,里面也有很多操作日期的方法,但是早已经过期了,不再使用。所以操作日期主要使用Calendar
Calendar方法摘要
返回值 | 方法名 | 作用 | |
void | add() |
| |
boolean | equals() |
| |
int | getMinmum |
| |
int | getMaxmum |
| |
void | computTime |
| |
int | hashCode |
| |
void | setTimeZone |
|
1,Calendar获取年份,月份,日期等
首先创建一个日历对象,获取当前年份,月份,时间.....
1.1获取年份
Calendar calendar=Calendar.getInstance();//创建一个日历对象
int year=calendar.get(calendar.YEAR);//获取当前年份
System.out.println("获取当前年份:"+year);
//获取当前年份:2023
1.2获取月份
int month=calendar.get(calendar.MONTH)+1;//获取月份
System.out.println("获取月份:"+month);
1.3获取日期
int date=calendar.get(calendar.DATE);//获取日期
System.out.println("获取日期:"+date);
1.4获取时
int huor=calendar.get(calendar.HOUR);//获取时
System.out.println("获取时:"+huor);
1.5获取时的24小时制
int hous=calendar.get(calendar.HOUR_OF_DAY);//获取时的24小时制
System.out.println("获取时的24小时制:"+hous);
2,将给定的日历字段设置为给定的值
2.1设置指定年份、月份、时间等
成员方法的参数
int field:日历类的字段,可以通过calendar类的静态成员变量获取
public static final int YARN = 1; //年
public static final int MOUTH = 2; //月
public static final int DATE = 5;//月中的某一天(与day_of_mouth意义相同)
public static final int DAY_OF_MONTH;//月中的第几天(与date意义相同)
public static final int HOUR = 10; //时
public static final int MINUTE= 12;//分
public static final int SECOND= 13;//秒
calendar.set(calendar.YEAR,2034);//设置指定年份
int year2=calendar.get(calendar.YEAR);//获取设置指定年份
System.out.println("获取设置指定年份:"+year2);
calendar.set(calendar.MONTH,5);//设置指定月份
int month2=calendar.get(calendar.MONTH);//获取设置的指定月份
System.out.println("获取设置的指定月份:"+month2);
calendar.set(calendar.DATE,5);//设置指定日子
int date2=calendar.get(calendar.DATE);//获取指定日
System.out.println("获取指定日:"+date2);
3,根据日历规则,为给定的日历字段添加或者减去指定的事件量
// 根据日历规则,为给定的日历字段添加或者减去指定的事件量
calendar.add(calendar.YEAR,2);//把指定的年份增加两年
calendar.add(calendar.MONTH,-3);//把指定的月份减少三年
int yuer=calendar.get(calendar.YEAR);
int month3=calendar.get(calendar.MONTH);
System.out.println(yuer+"年"+month3+"月"+date+"日");
4,获取一个Calendar日历对象对应的Date日期对象
Date da = calendar.getTime();//把日历对象转换成日期对象
System.out.println(da);//Wed Mar 05 10:07:56 CST 2036
TimeZone tim=calendar.getTimeZone();//获取当前地区日期
System.out.println("地区日期:"+tim);
long timellist=calendar.getTimeInMillis();//获取当前时间的毫秒
System.out.println("日期对应的毫秒:"+timellist);
Date date1=new Date();
long timm=date1.getTime();
System.out.println("date获取的毫秒值:"+timm);
5,使用Calendar将日期转换为时间戳(两种方法)
long calTime=calendar.getTimeInMillis();//第一种方法
System.out.println("Calendar时间戳1:"+calTime);
System.out.println("Calendar时间戳2:"+calendar.getTime().getTime());//第二种方法
6,转Date类型格式化输出
Calendar sun = new GregorianCalendar(2023, 11, 22);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat.format(sun.getTime()); // 获取Date对象格式化输出
System.out.println(format);
好啦,大致内容就更新到这里,谢谢观看
伊利小课堂到此结束,下次再见~