calendar类的方法_unsafe类常用方法

calendar类的方法_unsafe类常用方法概念java.util.Claendar日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法,该类将所有的可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值获取方式由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。静态方法如下:publicstaticCalendargetInstance();使用默认时区和默认的语言环境获取一个对象…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

概念

java.util.Claendar日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法,该类将所有的可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值

获取方式

由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。

静态方法如下:
public static Calendar getInstance();使用默认时区和默认的语言环境获取一个日历对象
例如:

import java.util.Calendar;
pubic class Demo01Calendar { 
   
    public static void main(String[] args) { 
   
        Calendar calendar = Calendar.getInstance();// 获取一个日历的对象 
    }
}
Calendar类的常用的成员方法:

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 YARN = 1; //年
public static final int MOUTH = 2; //月
public static final int DATE = 5;//月中的某一天(与day_of_mouth意义相同)
public static final int DAY_OF_MONTH;//月中的第几天(与date意义相同)
public static final int HOUR = 10; //时
public static final int MINUTE= 12;//分
public static final int SECOND= 13;//秒

以下演示的例子:
//获取给定的字段值
    public static void demo01(Calendar calendar) { 
   
        //使用public int get(int field)过去给定的日历字段值
        //获取年份
        int year = calendar.get(calendar.YEAR);
        System.out.println(year);

        //获取月份
        int month = calendar.get(Calendar.MONTH) + 1;
        System.out.println(month);//10 西方的日历 月份:0--11 东方1--12

        //获取日期
        int date = calendar.get(Calendar.DATE);
        System.out.println(date);

        //获取时
        int hour = calendar.get(Calendar.HOUR);
        System.out.println(hour);
		//获取时的24小时制
        int hours = calendar.get(Calendar.HOUR_OF_DAY);
        System.out.println(hours);
    }
//将给定的日历字段设置为给定的值
    public static void demo02(Calendar calendar) { 
   
        //public void set(int field,int value)
        /** * int field:指定的日历字段(YEAR,MONTH,DATE....) * int calue:给指定的日历字段设置值 */
        //把当前的年份设置为2050年
        calendar.set(Calendar.YEAR, 2050);
        //获取年份
        int year = calendar.get(Calendar.YEAR);
        System.out.println(year);

        //把当前的月份设置为5月
        calendar.set(Calendar.MONTH, 5);
        //再次获取月份
        int month = calendar.get(Calendar.MONTH);
        System.out.println(month);

        //设置日期为5日
        calendar.set(Calendar.DATE, 5);
        int date = calendar.get(Calendar.DATE);
        System.out.println(date);
    }
 //根据日历规则,为给定的日历字段添加或者减去指定的事件量
    public static void demo03(Calendar calendar) { 
   
        //public abstract void add(int field,int amount) 把指定的字段增加或者减少指定的值
        /** * 参数: * int field:指定的日历字段(YEAR,MONTH,DATE....) * int amount:增加或者减少指定的数量 * 正数:增加指定的数量 * 负数:减少指定的数量 */
        //把当前的年份增加两年
        calendar.add(Calendar.YEAR, 2);
        //把当前的月份减少3个月
        calendar.add(Calendar.YEAR, -3);

        //获取更改之后的年份和月份
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int date = calendar.get(Calendar.DATE);
        System.out.println(year + "年" + month + "月" + date + "日");
    }
 //获取一个Calendar日历对象对应的Date日期对象
    public static void demo04(Calendar calendar){ 
   
        //public Date getTime() 把日历对象转换成日期对象
        Date date = calendar.getTime();
        System.out.println(date);//Mon Nov 30 15:15:05 CST 2020

        //获取当前时间的时区
        TimeZone timeZone = calendar.getTimeZone();
        System.out.println(timeZone);

        //获取当前时间的毫秒值
        long timeInMillis = calendar.getTimeInMillis();
        System.out.println("calendar日历对应的毫秒值:"+timeInMillis);

        long timeMillis = System.currentTimeMillis();
        System.out.println("这是System系统获取的毫秒值:"+timeInMillis);

        Date date1 = new Date();
        long time = date1.getTime();
        System.out.println("这是date获取的毫秒值:"+time);
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190471.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月20日 上午9:43
下一篇 2026年2月20日 上午10:15


相关推荐

  • Modelsim 10.2c 百度网盘下载「建议收藏」

    Modelsim 10.2c 百度网盘下载「建议收藏」百度网盘链接:链接:https://pan.baidu.com/s/1CGNg1Dy_S37P-obHoCncFg提取码:2eml

    2022年5月10日
    101
  • Java this 关键字用法

    Java this 关键字用法介绍Java中this关键字的用法,包括在构造方法中this关键字的用法,非在构造方法中this关键字的用法,继承关系下this关键字含义的变化,以及super和this关键字的异同。

    2022年6月25日
    25
  • win7命令行进入目录

    win7命令行进入目录1:经常会用到win7的命令行进入不同的目录

    2022年10月16日
    4
  • c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]

    c++和java区别_科普:Java 和 C++ 有何区别[通俗易懂]我是一名Java工程师,平时用C++的时候并不多,这篇文章讲述了两者的区别。欢迎大家关注我。Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于C++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多…

    2022年7月7日
    30
  • mysql查询出现In aggregated query without GROUP BY, expression 1 of SELECT list contains nonaggregated c

    mysql查询出现In aggregated query without GROUP BY, expression 1 of SELECT list contains nonaggregated cmysql 查询出现 Inaggregated expression 1ofSELECTlis zhibo a id 出现问题 Errorqueryin Cause com mysql jdbc exceptions jdbc4 MySQLSy

    2026年3月16日
    2
  • C语言链表详解_c语言中链表的使用

    C语言链表详解_c语言中链表的使用链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。链表都有一个头指针,一般以head来表示,存放的是一个地址。链表中的节点分为两类,头结点和一般节点,头结点是没有数据域的。链表中每个节点都分为两部分,一个数据域,一个是指针域。说到这里你应该就明白…

    2025年8月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号