Calendar日历类
该类为抽象类,将所有可能用到的时间信息封装为静态成员变量,方便获取时间属性,其位于java.util.Calendar, 其中的getInstance方法可以返回一个Calendar类的子类对象,可以直接使用次子类进行创建对象,而不需要自己使用直接已知子类或自行创建子类进行创建对象。
// 1.使用Calendar类需要先导包:
import java.util.Calendar;
import java.util.Date;public class CalendarClass{public static void main(String[] args){// 2.使用Calendar的静态方法getInstance方法来获得一个Calendar子类:Calendar getInfor = Calendar.getInstance();//父类指向一个子类,多态的使用// 3.打印sonCalendar:System.out.println(getInfor);/* java.util.GregorianCalendar[time=1641217850064,//毫秒值areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",//时区offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,//年MONTH=0,//月,西方月份从0开始,在中国只需在得到的数据上+1即可WEEK_OF_YEAR=2,//一年中的第几周WEEK_OF_MONTH=2,//一月中的第几周DAY_OF_MONTH=3,//一月中的第几天DAY_OF_YEAR=3,//一年中的第几天DAY_OF_WEEK=2,//一周中的第几天DAY_OF_WEEK_IN_MONTH=1,//AM_PM=1,//上下午HOUR=9,//时HOUR_OF_DAY=21,//一天中的第几小时MINUTE=50,//分SECOND=50,//秒MILLISECOND=64,ZONE_OFFSET=28800000,DST_OFFSET=0] */// 由上可以看到,此方法重写里toString方法,因为打印出来的并非地址值,而且可以看到里面包含了很多关于时间的信息。// 4.Calendar类下对象的常用方法:// 4-1:get(int field),传入日历的字段值,返回字段值对应的数据,这里字段可以是上面第3步中打印出的字段值(=左边的值为字段,返回等号右边的数据),如:int result = getInfor.get(Calendar.YEAR);System.out.println(result);//2022// 4-2:set(int field,int value),给指定的日历字段设置值,如:getInfor.set(Calendar.YEAR,1998);//set(1998,8,8)方法有一个重载形式,同时传入三个int型参数时为设置年月日int result2 = getInfor.get(Calendar.YEAR);System.out.println(result2);//1998,当使用set方法将getInfor对象中的年重新设置为1998后,再次获取年则为设置后的值。// 4-3:add(int field,int value),将指定字段的数据增加或减少int型的量,增加减少用正负表示,如:getInfor.add(Calendar.YEAR,-2);int result3 = getInfor.get(Calendar.YEAR);System.out.println(result3);//1996// 4-4:getTime(),将日历对象转换成日期对象,返回Date型,如:Date result4 = getInfor.getTime();System.out.println(result4);//Wed Jan 03 22:48:51 CST 1996};
};
提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海