Calendar类

Posted StriveSun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Calendar类相关的知识,希望对你有一定的参考价值。

创建一个代表系统当前日期的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();

调用:

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

利用字段类型设置

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

publicvoidset(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天前的日期,其它所有的数值会被重新计算

<pre>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代表星期1、3代表星期二,以此类推)int day = c1.get(Calendar.DAY_OF_WEEK);

 

以上是关于Calendar类的主要内容,如果未能解决你的问题,请参考以下文章

Calendar 日历类的时间操作

Android从主活动类中的非类布局访问Textview

日期选择器上诉破裂

求java中Calendar类的用法例子(并附每条注释)

java代码如何得到当前的12个月

Calender类——字段值介绍