🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 概述 Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。 Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下: ### 获取实例 ~~~ Calendar c = Calendar.getInstance(); ~~~ 打印对象 ~~~ java.util.GregorianCalendar [time=1523367777772,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=2018,MONTH=3, WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,DAY_OF_YEAR=100, DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=9,HOUR_OF_DAY=21, MINUTE=42,SECOND=57,MILLISECOND=772,ZONE_OFFSET=28800000, DST_OFFSET=0] ~~~ ### 获取当前时间 ~~~ public static void main(String[] args) throws Exception { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH) + 1; int day = c.get(Calendar.DAY_OF_MONTH); int hour = c.get(Calendar.HOUR); System.out.println(year + "年" + month + "月" + day + "日"+hour+"时"); } ~~~ ~~~ 2016年11月11日10时 ~~~ ### 设置时间 ~~~ public static void main(String[] args) throws Exception { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR,1992); c.set(Calendar.MONTH,3); c.set(Calendar.DAY_OF_MONTH,10); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); } ~~~ ~~~ 1992年3月10日 ~~~ ### 日历偏移 ~~~ public static void main(String[] args) throws Exception { Calendar c = Calendar.getInstance(); c.add(Calendar.YEAR,1); //使用add方法 c.add(Calendar.MONTH,1); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); } ~~~ ~~~ 2017年11月11日 //年份增加1年,月份增加1年 ~~~