zoukankan      html  css  js  c++  java
  • Java Calendar类

    Calendar类概述

    /**
     * java.util.Calendar类:是一个日历类
     * Calendar类是一个抽象类,里边提供了很多操作日历字段的方法
     *      如:YEAR、 MONTH、 DAY OF MONTH、HOUR
     *      
     * Calendar类无法直接创建对象使用,里边有一个静态方法叫 getInstance(),
     *      getInstance()方法返回了 Calendar类的子类对象
     *      static Calendar getInstance()使用默认时区和语言环境获得一个日历。
     */

    Calender获取对象的方式

    使用静态方法:Calendar.getInstance()

    import java.util.Calendar;
    
    public class Demo01Calendar {
        public static void main(String[] args) {
            Calendar calendar = Calendar.getInstance();
            System.out.println(calendar);
        }
    }

    Calender类的常用成员方法

    public int get(int field)
    // 返回给定日历字段的值
    
    public void set(int field, int value)
    // 将给定的日历字段设置为给定值。
    
    public abstract void add(int field, int amount)
    // 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
    
    public Date getTime()
    // 返回一个表示此 Calendar时间值(从历元到现在的亳秒偏移量)的Date对象。
    成员方法的参数:
                 int field:日历类的字段,可以使用 Calendar类的静态成员变量获取
                           public static final int YEAR = 1public static final int MONTH = 2public static final int DATE=5                        一个月中的某一天
                           public static final int DAY_OF_ MONTH=5               一个月中的某一天
                           public static final int HOUR =10public static final int MINUTE =12public static final int SECOND =13                    秒

    get() 方法:返回给定日历字段的值

    import java.util.Calendar;
    
    public class DemoCalendarGet {
        public static void main(String[] args) {
            // 首先使用getInstance()方法获取calendar对象
            Calendar calendar = Calendar.getInstance();
    
            // 调用get方法获取给定日历字段的值
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DATE) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) + "
    " +
                    "时:" + calendar.get(Calendar.HOUR) + "
    " +
                    "分:" + calendar.get(Calendar.MINUTE) + "
    " +
                    "秒:" + calendar.get(Calendar.SECOND)
            );
        }
    }
    输出:
    年:2020
    月:0
    一个月中的某一天:11
    一个月中的某一天年:11
    时:8
    分:37
    秒:31
    
    
    说明:
    当时日期、时间:2020年1月11日8时37分31秒
    西方的月份:0-11
    东方的月份:1-12

    set() 方法:将给定的日历字段设置为给定值

    import java.util.Calendar;
    
    public class DemoCalendarSet {
        public static void main(String[] args) {
            // 首先使用getInstance()方法获取calendar对象
            Calendar calendar = Calendar.getInstance();
            System.out.println("
    设置前");
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
            );
    
            // 将年设置为 2008
            calendar.set(Calendar.YEAR, 2008);
            // 将月设置为 10
            calendar.set(Calendar.MONTH, 10);
            // 将日期设置为 3
            calendar.set(Calendar.DAY_OF_MONTH, 3);
            System.out.println("
    分别设置后");
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
            );
    
            // 同时设置年月日
            calendar.set(1998, Calendar.SEPTEMBER, 25);
            System.out.println("
    同时设置后");
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
            );
        }
    }
    输出结果:
    
    设置前
    年:2020
    月:0
    一个月中的某一天:11
    
    分别设置后
    年:2008
    月:10
    一个月中的某一天:3
    
    同时设置后
    年:1998
    月:8
    一个月中的某一天:25

    add() 方法:根据日历的规则,为给定的日历字段添加或减去指定的时间量。

    import java.util.Calendar;
    
    public class DemoCalendarAdd {
        public static void main(String[] args) {
            // 首先使用getInstance()方法获取calendar对象
            Calendar calendar = Calendar.getInstance();
            System.out.println("
    变化前");
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
            );
    
            // 把年减少两年
            calendar.add(Calendar.YEAR, -2);
            // 把月份增加三个月
            calendar.add(Calendar.MONTH, 3);
            // 把日期增加10天
            calendar.add(Calendar.DAY_OF_MONTH, 10);
            System.out.println("
    变化后");
            System.out.println(
                    "年:" + calendar.get(Calendar.YEAR) + "
    " +
                    "月:" + calendar.get(Calendar.MONTH) + "
    " +
                    "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
            );
        }
    }
    输出结果:
    
    变化前
    年:2020
    月:0
    一个月中的某一天:11
    
    变化后
    年:2018
    月:3
    一个月中的某一天:21

    getTime() 方法:返回一个表示此 Calendar时间值(从历元到现在的亳秒偏移量)的Date对象。

    import java.util.Calendar;
    
    public class DemoCalendarGetTime {
        public static void main(String[] args) {
            // 首先使用getInstance()方法获取calendar对象
            Calendar calendar = Calendar.getInstance();
    
            // 返回一个表示calendar时间值(从历元到现在的亳秒偏移量)的Date对象。
            System.out.println(
                    calendar.getTime()
            );
        }
    }
    输出结果:
    Sat Jan 11 21:16:52 CST 2020
  • 相关阅读:
    Linux_access the file or directory which start with "-"
    Jasper_crosstab_measure_display a value of field in crosstab total row
    Linux_Shell符号及各种解释对照表
    Linux_Shell type
    Jasper_passValue_return value from the subreport to main report
    Jasper_table_resolve multiple copies of table in detail band issue
    Jasper_crosstab_headerPosition_columngroup header position config
    Linux
    un ange frappe a ma porte
    Linux
  • 原文地址:https://www.cnblogs.com/liyihua/p/12181135.html
Copyright © 2011-2022 走看看