Java Calendar 的常用方法(get、set、add)

430 阅读1分钟

image.png

import java.util.Calendar;

public class test {
  public static void main(String[] args) {

    // ======================== get 的使用 =============

    // 获取日历对象
    Calendar c = Calendar.getInstance();

    // public int get(int field): 返回指定日历字段的值
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1; // 月份是从 0 开始的
    int day = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + day + "日"); // 2021年7月22日
    
    
    // ======================== add 的使用 =============

    // 获取日历对象
    Calendar c = Calendar.getInstance();

    //  public abstract void add(int field, int amount): 根据日历的规则,将指定的时间量添加或减去给定的日历字段
    c.add(Calendar.YEAR, -3); // 年份 -3,也就是3年前的今天
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1; // 月份是从 0 开始的
    int day = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + day + "日"); // 2018年7月22日


    // 获取日历对象
    Calendar c = Calendar.getInstance();

    //  public abstract void add(int field, int amount): 根据日历的规则,将指定的时间量添加或减去给定的日历字段
    c.add(Calendar.YEAR, 10); // 年份 +10
    c.add(Calendar.DATE, -5); // 天数 -3,两者合起来就是 10年后的5天前
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1; // 月份是从 0 开始的
    int day = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + day + "日"); // 2031年7月17日

    
    // ======================== set 的使用 =============
    
    // 获取日历对象
    Calendar c = Calendar.getInstance();

    // public void set(int field, int value): 设置当前日历的年月日
    c.set(2066, 6, 6); // 月份是从 0 开始的,填的 6 也就是7月
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1; // 月份是从 0 开始的
    int day = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + day + "日"); // 2066年7月6日
  }
}