概念

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);}

Calendar类常用方法相关推荐

  1. Calendar类常用方法 日期间的转换 set方法有巨坑

           今天发现项目的工具类方法有个bug,而且还能迷惑你的bug,刚开始也是很迷惑,因为这个bug之前出现过,但是过了两天就自己好了,今天又出现了,哦对,今天是 2017年3月31日,之所 ...

  2. Calendar类常用方法,获取每月最大天数

    Calendar类 平时用到时间戳主要是用java.sql.Timestamp这个类,但是Timestamp获取年月日时分秒的方法现在都标注不推荐了,为了防止官方哪天突然给他删了,可以用Calenda ...

  3. java Date days_JAVA的Date类与Calendar类(常用方法)

    念念不忘,必有回响 http://blog.csdn.net/xiaopihai86/article/details/50827945 1.用Java.util.Calender来实现 Calenda ...

  4. Calendar类-日历类常用方法(JAVA)

    Calendar类概述 ​ Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法 ​ Calendar 提供了一个类方法 getInstance 用于获取 ...

  5. Calendar类的常用方法分享

    Calendar类常用方法分享 Calendar类 一些常用的方法 附上一些常用field Calendar类 该类是在java.util包下,是一个abstract修饰的类,不能通过new的方式获取 ...

  6. Java日期相关类:Date、SimpleDateFormat和Calendar类常用API代码示例

    Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间 Date类的构造方法 Date() :创建的是一个表示当前系统时间的Date对象 Date(long ...

  7. java -Date、DateFormat、Calendar类

    Date类概述 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis()  相当于Date d = new Date ...

  8. 【_ 記 】Java Calendar类详解(今年 本月 今日 去年 上月 昨日)

    一.构造方法 protected Calendar() :由于修饰符是protected,所以无法直接创建该对象.需要通过别的途径生成该对象. 二.成员方法 Calendar类的成员方法 static ...

  9. JAVA中Calendar类的常用方法

    Calender类 java.util.Calendar类:日历类 Canlender类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR.Months.day_OF_MNTH.HOUR) Ca ...

最新文章

  1. 使用DataReader、DataSet、DataAdapter和DataView
  2. JavaScript String 对象扩展方法
  3. asp.net 中datagrid ItemDataBound\ItemCreated
  4. 手机常用分页加载loading框
  5. [SDOI2017]遗忘的集合
  6. keil接收别人发的工程打不开_STM32工程模板建立之 KEIL 开发平台设置(一)
  7. 黑马程序员——C语言基础 字符串
  8. RENIX软件OSPF和BFD、ISIS和BFD联动测试——网络测试仪实操
  9. 安居客数据的爬取并保存到MySQL
  10. VMware Workstation 安装及配置HMC V8R860
  11. Performance Test Framework (PTF)是压力测试框架
  12. 用CSS做的简单弹窗
  13. android截视频软件,裁剪切视频app
  14. matlab雷达目标回波仿真
  15. 2022-2028年中国半导体专用设备行业市场深度分析及投资前景趋势报告
  16. Python安装Image库
  17. java代码重构工具_代码重构什么意思 Java代码重构的几种模式
  18. NY8B062E 例程之 ADC_Interrupt
  19. CAD小问题解决办法2
  20. RibbonControl 左上方 一本书的图标如何去掉

热门文章

  1. 蓝桥杯嵌入式模板的构建——STM32G431RB(LCD和ADC采集电压)
  2. LINUX系统更改系统时区
  3. 算法 罗马数字转整数
  4. 医院如何实施无线覆盖方案
  5. java疯狂的兔子_语言云(语言技术平台云 LTP-Cloud)
  6. 荣耀8显示服务器错误,王者荣耀更新失败怎么办?王者荣耀8月23日更新出现错误代码...
  7. Socket通信(TCP协议)
  8. 第一梯队!腾讯安全天御入选亚太地区欺诈管理代表性厂商
  9. 从零开始学Python第05课:分支结构
  10. mysql max_prepared_stmt_count_max_prepared_stmt_count 问题与Sysbench 工具简介