• 日期操作类--Calendar类


    Calendar-API

    Calendar类

    通过Date和DateFormat能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。

    Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。

    Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

    创建一个代表系统当前日期的Calendar对象

    Calendar c = Calendar.getInstance();//默认是当前日期

    创建一个指定日期的Calendar对象

    使用Calendar类代表特定的时间,需要首先创建一个Calendar的对象,然后再设定该对象中的年月日参数来完成。

    //创建一个代表2009年6月12日的Calendar对象
    Calendar c1 = Calendar.getInstance();
    c1.set(2009, 6 - 1, 12);

    Calendar类对象字段类型

    Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想

    常量描述
    Calendar.YEAR 年份
    Calendar.MONTH 月份
    Calendar.DATE 日期
    Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同
    Calendar.HOUR 12小时制的小时
    Calendar.HOUR_OF_DAY 24小时制的小时
    Calendar.MINUTE 分钟
    Calendar.SECOND
    Calendar.DAY_OF_WEEK 星期几

    Calendar类对象信息的设置

    Set设置

    如:

    Calendar c1 = Calendar.getInstance();

    调用:

    public final void set(int year,int month,int date)
    c1.set(2009, 6 - 1, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12

    利用字段类型设置

    如果只设定某个字段,例如日期的值,则可以使用如下set方法:

    public void set(int field,int value)

     把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算

    c1.set(Calendar.DATE,10);

    把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算

    c1.set(Calendar.YEAR,2008);

    其他字段属性set的意义以此类推

    Add设置

    Calendar c1 = Calendar.getInstance();

    把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算

    c1.add(Calendar.DATE, 10);

    把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算

    c1.add(Calendar.DATE, -10);

    其他字段属性的add的意义以此类推

    Calendar类对象信息的获得

    Calendar c1 = Calendar.getInstance();
    // 获得年份
    int year = c1.get(Calendar.YEAR);
    // 获得月份
    int month = c1.get(Calendar.MONTH) + 1;
    // 获得日期
    int date = c1.get(Calendar.DATE);
    // 获得小时
    int hour = c1.get(Calendar.HOUR_OF_DAY);
    // 获得分钟
    int minute = c1.get(Calendar.MINUTE);
    // 获得秒
    int second = c1.get(Calendar.SECOND);
    // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期一、3代表星期二,以此类推)
    int day = c1.get(Calendar.DAY_OF_WEEK);
  • 相关阅读:
    第十二章学习笔记
    UVa OJ 107 The Cat in the Hat (戴帽子的猫)
    UVa OJ 123 Searching Quickly (快速查找)
    UVa OJ 119 Greedy Gift Givers (贪婪的送礼者)
    UVa OJ 113 Power of Cryptography (密文的乘方)
    UVa OJ 112 Tree Summing (树的求和)
    UVa OJ 641 Do the Untwist (解密工作)
    UVa OJ 105 The Skyline Problem (地平线问题)
    UVa OJ 100 The 3n + 1 problem (3n + 1问题)
    UVa OJ 121 Pipe Fitters (装管子)
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/6008460.html
Copyright © 2020-2023  润新知