java Calendar(日历)

注意:西方国家的月份是0~11

一、基础

1、注意:Calendar类是抽象类型

2、初始化对象

通过调用Calendar中的静态方法进行初始化

package cn.wt.day12;

import java.util.Calendar;

public class Demon02 {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        System.out.println(cal);
    }
}

二、进阶

1、get方法

作用:获取日历

语法:cal.get(int field)

field是Calendar类的常量,通过Calendar类直接调用

package cn.wt.day12;

import java.util.Calendar;

public class Demon02 {
    public static void main(String[] args) {
//        Calendar cal = Calendar.getInstance();
//        System.out.println(cal);
        int year = getYear();
        System.out.println(year);
    }

    private static int getYear() {
        Calendar cal = Calendar.getInstance();  // 多态
        int year = cal.get(Calendar.YEAR);
        return year;
    }
}

其它常量,看文档或源码

2、set方法

作用:设置日历

语法:set(int field, int value)

field Calendar中的常量; value 是设置的值

package cn.wt.day12;

import java.util.Calendar;

public class Demon02 {
    public static void main(String[] args) {
//        Calendar cal = Calendar.getInstance();
//        System.out.println(cal);
        int year = getYear();
        System.out.println(year);

        setCal();
    }

    private static void setCal() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, 2024);   // 设置指定的filed
        System.out.println(cal.getTime()); // Calendar对象 -> Date对象
        cal.set(2024, 12, 06); // overload 方法的重载
        System.out.println(cal.getTime()); // Calendar对象 -> Date对象
    }

    private static int getYear() {
        Calendar cal = Calendar.getInstance();  // 多态
        int year = cal.get(Calendar.YEAR);
        return year;
    }
}

3、add方法

作用:对Calendar中的常量进行添加或减少

add(int field, int amount)

field Calendar中的常量; amount 增加或减少的值 增加为正 减少为-

package cn.wt.day12;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Demon02 {
    public static void main(String[] args) {
//        Calendar cal = Calendar.getInstance();
//        System.out.println(cal);
        // 获取
        int year = getYear();
        System.out.println(year);
        // 设置日历
        setCal();
        // 增加日历
        addCal();
    }

    private static void addCal() {
        Calendar cal = Calendar.getInstance(); // Calendar 对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formatTime = sdf.format(cal.getTime()); // Calendar对象 -> Date 对象 -> String 对象
        System.out.println(formatTime);
        cal.add(Calendar.MONTH, -1); // 月份减少一个月
        String ft2 = sdf.format(cal.getTime());
        System.out.println(ft2);
    }

    private static void setCal() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, 2024);   // 设置指定的filed
        System.out.println(cal.getTime()); // Calendar对象 -> Date对象
        cal.set(2024, 12, 06); // overload 方法的重载
        System.out.println(cal.getTime()); // Calendar对象 -> Date对象
    }

    private static int getYear() {
        Calendar cal = Calendar.getInstance();  // 多态
        int year = cal.get(Calendar.YEAR);
        return year;
    }
}

4、getTime方法

作用:Calendar对象->Date对象

posted @ 2020-02-10 16:16  市丸银  阅读(452)  评论(0编辑  收藏  举报