【Java常用类】Calendar类

Calendar类

Calendar类属于java.util.Calendar,Calendar类是一个抽象类,Calendar无法直接创建对象使用,里面提供了很多操作日历字段的方法,有一个静态方法叫getInstance(),这个方法的作用是返回一个Calendar的子类对象

Calendar类常用方法

  • public abstract void add(int filed,int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段

    package com.common.calendar;
    import java.util.Calendar;
    public class CalendarDemo02 {
        public static void main(String[] args) {
            Calendar c = Calendar.getInstance();
            //需求1:3年前的今天
            c.add(Calendar.YEAR,-3);
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH) + 1;
            int date = c.get(Calendar.DATE);
            System.out.println(year + "年" + month + "月" + date + "日");
            //需求2:10年后的5天前
            c.add(Calendar.YEAR,10);
            c.add(Calendar.DATE,-5);
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH) + 1;
            int date = c.get(Calendar.DATE);
            System.out.println(year + "年" + month + "月" + date + "日");
        }
    }
    

    注意:这里的月份是从0开始的,即0-11月,所以在代码中要进行+1操作

  • public final void set(int year,int month,int date):设置当前日历的年月日

    package com.common.calendar;
    import java.util.Calendar;
    public class CalendarDemo02 {
        public static void main(String[] args) {
            Calendar c = Calendar.getInstance();
            c.set(2023,6,17);
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH) + 1;
            int date = c.get(Calendar.DATE);
            System.out.println(year + "年" + month + "月" + date + "日");
        }
    }
    

【Java常用类】Calendar类_第1张图片

  • 案例:二月天

    需求:获取任意一年的二月有多少天

    思路:

    1.键盘录入任意的年份

    2.设置日历对象的年、月、日

    • 年:来自于键盘输入
    • 月:设置为3月,月份是从0开始的,所以设置的值是2
    • 日:设置为1日

    3.3月1日往前推一天,就是2月的最后一天

    4.获取这一天输出即可

package com.common.calendar;
import java.util.Calendar;
import java.util.Scanner;
public class CalendarDemo03 {
   public static void main(String[] args) {
       //键盘录入任意的年份
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入年份:");
       int year = sc.nextInt();
       //设置日历对象的年、月、日
       Calendar c = Calendar.getInstance();
       c.set(year, 2, 1);
       //3月1日往前推一天就是2月的最后一天
       c.add(Calendar.DATE, -1);
       int date = c.get(Calendar.DATE);
       System.out.println(year + "年的2月份有" + date + "天");
   }
}

【Java常用类】Calendar类_第2张图片

你可能感兴趣的:(java,jvm,开发语言)