【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 + "日");
        }
    }
    

在这里插入图片描述

  • 案例:二月天

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

    思路:

    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 + "天");
   }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值