Calendar类—相关操作
-
使用默认时区和语言环境获得一个日历。
-
执行路口
package cn.xiaoge.day12.demo05; /* java.util.Calendar类: 日历类 Calendar类是一个抽象类, 里边提供了很对操作日历字段的方法(YEAR、MONTH、DAY_OF_MONTH、HOUR) Calendar类无法直接创建对象使用, 里边有一个静态方法叫getInstance(), 该方法反回了Calendar类的子类对象 static Calendar getInstance() 使用默认时区和语言环境获得一个日历。 */ import java.util.Calendar; public class Demo01Calendar { public static void main(String[] args) { Calendar c = Calendar.getInstance(); // 多态 System.out.println(c); } } // 运行结果 java.util.GregorianCalendar[time=1572162303286,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=9,WEEK_OF_YEAR=44,WEEK_OF_MONTH=5,DAY_OF_MONTH=27,DAY_OF_YEAR=300,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=45,SECOND=3,MILLISECOND=286,ZONE_OFFSET=28800000,DST_OFFSET=0]
-
-
Calendar类的常用方法
-
执行路口
package cn.xiaoge.day12.demo05; /* Calendar类的常用成员方法: 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对象。 成员方法的参数: int field: 日历类的字段, 可以使用Calendar类的静态成员变量获取 public static final int YEAR = 1; 年 public static final int MONTH = 2; 月 public static final int DATE = 5; 月中的某一天 public static final int DAY_OF_MONTH = 5;月中的某一天 public static final int HOUR = 10; 时 public static final int MINUTE = 12; 分 public static final int SECOND = 13; 秒 */ import java.util.Calendar; import java.util.Date; public class Demo02Calendar { public static void main(String[] args) { demo01(); System.out.println("========================="); demo02(); System.out.println("========================="); demo03(); System.out.println("========================="); demo04(); } /* public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。 把日历对象, 转换为日期对象 */ private static void demo04() { // 使用getInstance方法获取Calendar对象 Calendar c = Calendar.getInstance(); Date date = c.getTime(); System.out.println(date); } /* public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。 把指定的字段增加/减少指定的值 参数: int field: 传递指定的日历字段(YEAR、MONTH、DAY_OF_MONTH、HOUR...) int amount: 增加/减少指定的值 整数: 增加 负数: 减少 */ private static void demo03() { // 使用getInstance方法获取Calendar对象 Calendar c = Calendar.getInstance(); // 把年增加2年 c.add(Calendar.YEAR, 2); // 把月份减少3个月 c.add(Calendar.MONTH, -3); int year = c.get(Calendar.YEAR); System.out.println(year); // 2019 int month = c.get(Calendar.MONTH); System.out.println(month); // 西方的月份: 0-11 东方的月份: 1-12 // int date = c.get(Calendar.DAY_OF_MONTH); int date = c.get(Calendar.DATE); System.out.println(date); } /* public void set(int field, int value):将给定的日历字段设置为给定值。 参数: int field: 传递指定的日历字段(YEAR、MONTH、DAY_OF_MONTH、HOUR...) int value: 给指定字段设置的值 */ private static void demo02() { // 使用getInstance方法获取Calendar对象 Calendar c = Calendar.getInstance(); // 设置年为9999 c.set(Calendar.YEAR, 9999); // 设置为9月 c.set(Calendar.MONTH, 9); // 设置日为9日 c.set(Calendar.DATE, 9); // 同时设置年月日, 可以使用set的重载方法 c.set(8888, 8, 8); int year = c.get(Calendar.YEAR); System.out.println(year); // 9999 int month = c.get(Calendar.MONTH); System.out.println(month); // 西方的月份: 0-11 东方的月份: 1-12 int date = c.get(Calendar.DATE); System.out.println(date); } /* public int get(int field):返回给定日历字段的值。 参数: 传递指定的日历字段(YEAR、MONTH、DAY_OF_MONTH、HOUR...) 返回值: 日历字段代表具体的值 */ private static void demo01() { // 使用getInstance方法获取Calendar对象 Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); System.out.println(year); // 2019 int month = c.get(Calendar.MONTH); System.out.println(month); // 西方的月份: 0-11 东方的月份: 1-12 // int date = c.get(Calendar.DAY_OF_MONTH); int date = c.get(Calendar.DATE); System.out.println(date); } } // 运行结果 2019 9 27 ========================= 8888 8 8 ========================= 2021 6 27 ========================= Sun Oct 27 15:46:05 CST 2019
-