【Java-----日期类(三)之Calendar类详解】
Calendar类概述
Calendar类是Java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCanlendar;获取Calendar对象一般使用类中提供的静态方法:getInstance(),该方法返回了Calendar的子类对象
Calendar类中的静态常量
Calendar.YEAR //表示年份 Calendar.MONTH //表示月份 Calendar.DATE //表示当前时间为多少号(日历式的多少号) Calendar.HOUR //表示小时(12小时制) Calendar.HOUR_OF_DAY //表示小时(24小时制) Calendar.MINUTE //表示分钟数 Calendar.SECOND //表示秒数 Calendar.MILLENSECOND //表示毫秒数 Calendar.WEEK_OF_MONTH //当前时间是所在当前月的第几个星期(日历式的第几周) Calendar.WEEK_OF_YEAR //当前时间是所在当前年的第几个星期 Calendar.DAY_OF_WEEK_IN_MONTH //当前时间是所在当前月的第几个星期,以月份天数为标准,一个月的1号为第一周,8号为第二周 Calendar.DAY_OF_WEEK //一周七天中,当前时间是一周中的第几天 Calendar.DAY_OF_YEAR //表示一年中的第几天 Calendar.DAY_OF_MONTH //表示一个月中的第几天,结果等同于Calendar.DATE Calendar.AM_PM //表示是上午还是下午 Calendar.SUNDAY //周日 Calendar.MONDAY //周一 Calendar.TUESDAY //周二 Calendar.WEDNSDAY //周三 Calendar.THURSDAY //周四 Calendar.FRIDAY //周五 Calendar.SATURDAY //周六
使用具体代码运行如下:
Calendar c= Calendar.getInstance(); int year=c.get(Calendar.YEAR); int month=c.get(Calendar.MONTH)+1;//此处加1因为Calendar中月份是从0开始计的 int date=c.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日"); //输出:2022年10月15日
Calendar中的常用方法
1 public static Calendar getInstance():创建Calendar类型的子类对象
Calendar c= Calendar.getInstance();
2 public int get(int filed):根据日历字段,获取其对应的值
Calendar c= Calendar.getInstance(); int year=c.get(Calendar.YEAR); System.out.println(year+"年"); //输出:2022年
3 public final void set(int year,int month,int day):设置时间为指定的年,月,日
Calendar c=Calendar.getInstance(); c.set(2018, 2, 14); year=c.get(Calendar.YEAR); month=c.get(Calendar.MONTH); date=c.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日"); //输出:2018年2月14日
4 public abstract void add(int field,int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段
//3年后的今天(插句话,正在读研的笔者真希望一键跳到三年后的今天) c.add(Calendar.YEAR, 3); year=c.get(Calendar.YEAR); month=c.get(Calendar.MONTH)+1; date=c.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日"); //输出:2025年10月15日 //10年后的五天前 c.add(Calendar.YEAR, 10); c.add(Calendar.DATE, -5); year=c.get(Calendar.YEAR); month=c.get(Calendar.MONTH)+1; date=c.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日"); //输出:2035年10月10日
5 Date getTime():返回一个Date表示日历的时间
Calendar c=Calendar.getInstance(); Date d=c.getTime(); System.out.println(d); //输出:Sat Oct 15 21:01:07 CST 2022
下一篇:
JAVA语言程序设计 循环作业