Calendar日历类的使用

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar提供了一个类方法,getInstance用于获取Calendar对象,其日历字段已使用当前时间和日期初始化   即 Calendar right now = Calendar getInstance;

Calendar c = Calendar.getInstance(继承情况下,以多态的形式)
 public abstract void add(int filed,int amount):根据日历规则,将指定的时间量添加或减去给定的日历字段
 public final void set(int year,int month,int date):设置当前日历的年月日

package com.itheima;

import java.util.Calendar;

/**
 *  public abstract void add(int filed,int amount):根据日历规则,将指定的时间量添加或减去给定的日历字段
 *  public final void set(int year,int month,int date):设置当前日历的年月日
 * */
public class Lian01 {
    public static void main(String[] args) {
        //获取当前年月日
       getCalendar1();
       //增减当前年月日
        getCalendar2();
        //设置当前年月日
        getCalender3();

    }
    //方法一:获取当前年月日
    public static void getCalendar1(){
        //获取日历对象
        Calendar c = Calendar.getInstance();//多态的形式
        //public int get(int field):返回给定日历字段的值
        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+"日");
    }

    //方法二:添加或删除给定的日历字段
    public static void getCalendar2(){
        //获取日历对象
        Calendar c =Calendar.getInstance();
        //public abstract void add(int filed,int amount):根据日历的规则,将制定的时间量添加或减去给定的日历字段
        //需求1:三年前的今天
        c.add(Calendar.YEAR,-3);//给日历的年份减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+"日");


        //需求二:10年后的5天前
        c.add(Calendar.YEAR,+10);//年份加10
        c.add(Calendar.DATE,-5);//日子往前推五天
        int year1= c.get(Calendar.YEAR);
        int month1= c.get(Calendar.MONTH)+1;
        int date1= c.get(Calendar.DATE);
        System.out.println(year1+"年"+month1+"月"+date1+"日");

    }

    //方法三:设置当前日历的年月日
    public static void getCalender3(){
        //创建日历对象
        Calendar c = Calendar.getInstance();
        //public final void set(int year,int month,int date):设置当前日历的年月日
        c.set(2050,10,25);
        int year1= c.get(Calendar.YEAR);
        int month1= c.get(Calendar.MONTH)+1;
        int date1= c.get(Calendar.DATE);
        System.out.println(year1+"年"+month1+"月"+date1+"日");

    }
}

案例:二月天

需求:获取任意一年的二月有多少天
    思路:
       1.键盘录入任意的年份
       2.设置日历对象的年月日
       3.3月1日往前推一天,就是二月最后一天
          年:来自键盘录入
            月:设置为3月,月份是从0开始的,所以设置的值是2
            日:设置为1日
      4.获取这一天输出即可

package com.itheima;

import java.util.Calendar;
import java.util.Scanner;

//案例:二月天
    //需求:获取任意一年的二月有多少天
    //思路:
        //1.键盘录入任意的年份
        //2.设置日历对象的年月日
        //3.3月1日往前推一天,就是二月最后一天
            //年:来自键盘录入
            //月:设置为3月,月份是从0开始的,所以设置的值是2
            //日:设置为1日
        //4.获取这一天输出即可
public class Calendar01 {
    public static void main(String[] args) {
        //创建键盘录入对象,并提示输入年份
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年份:");
        //接收日历
        Calendar c = Calendar.getInstance();
        //键盘录入年份
        int year = sc.nextInt();
        //设置年月日
        c.set(year,2,1);
        //3月1日往前推一天,就是二月最后一天
        c.add(Calendar.DATE,-1);
        //设置变量,接收这一时间
        int date= c.get(Calendar.DATE);
        //在控制台打印
        System.out.println(year+"年的2月有"+date+"天");
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值