温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java Calendar日历类的原理及使用方法

发布时间:2021-09-14 22:06:48 来源:亿速云 阅读:183 作者:chen 栏目:编程语言

这篇文章主要讲解了“Java Calendar日历类的原理及使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java Calendar日历类的原理及使用方法”吧!

java.util.Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。Calendar类无法直接创建对象使用,里边有一个静态方法getInstance(),该方法返回了Calendar类的子类对象。Calendar类中提供很多成员常量,代表给定的日历字段:具体如下图

1

获取方式

Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象,如下:

Calendar静态方法

public static Calendar getInstance() :使用默认时区和语言环境获得一个日历

//获取Calendar类的子类对象Calendar cal = Calendar.getInstance();

常用方法

根据Calendar类的API文档,常用方法有:

public int get(int field) :返回给定日历字段的值。

package demo04;import java.util.Calendar;public class Demo01 {  public static void main(String[] args) {    //通过静态方法创建,返回Calendar子类对象    Calendar instance = Calendar.getInstance();    /*    public int get(int field):返回给定日历字段的值。    参数:传递指定的日历字段(YEAR,MONTH...)    返回值:日历字段代表的具体的值   */    System.out.print("现在是"+instance.get(Calendar.YEAR)+"年");    //在Calendar类中,月份的表示是以0-11代表1-12月。    System.out.print(instance.get(Calendar.MONTH)+"月");    System.out.println(instance.get(Calendar.DAY_OF_MONTH)+"日");  }}

代码执行后的结果

2

public void set(int field, int value) :将给定的日历字段设置为给定值。

package demo04;import java.util.Calendar;public class Demo02 {  /*    public void set(int field, int value):将给定的日历字段设置为给定值。    参数:      int field:传递指定的日历字段(YEAR,MONTH...)      int value:给指定字段设置的值  */  public static void main(String[] args) {    //使用getInstance方法获取Calendar对象    Calendar c = Calendar.getInstance();    //设置年为9999    c.set(Calendar.YEAR, 9999);    //设置月为9月    c.set(Calendar.MONTH, 9);    //设置日9日    c.set(Calendar.DATE, 9);    //获取设置后的日期    System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");    //同时设置年月日,可以使用set的重载方法    c.set(8888, 8, 8);    System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");  }}

代码执行后的结果

3

public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指定的时间量。

package demo04;import java.util.Calendar;public class Demo03 {  /*    public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。    把指定的字段增加/减少指定的值    参数:      int field:传递指定的日历字段(YEAR,MONTH...)      int amount:增加/减少指定的值        正数:增加        负数:减少  */  public static void main(String[] args) {    //使用getInstance方法获取Calendar对象    Calendar c = Calendar.getInstance();    //获取当前的日期    System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");    //把年增加2年    c.add(Calendar.YEAR, 2);    //把月份减少3个月    c.add(Calendar.MONTH, -3);    //获取设置后的日期    System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");  }}

代码执行后的结果

4

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

package demo04;import java.util.Calendar;import java.util.Date;public class Demo04 {  /*    public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。    把日历对象,转换为日期对象   */  public static void main(String[] args) {    //使用getInstance方法获取Calendar对象    Calendar c = Calendar.getInstance();    //日历对象--->日期对象    Date date = c.getTime();    System.out.println(date);  }}

代码执行后的结果

5

注意事项

西方星期的开始为周日,中国为周一。  在Calendar类中,月份的表示是以0-11代表1-2月。  日期是有大小关系的,时间靠后,时间越大。

感谢各位的阅读,以上就是“Java Calendar日历类的原理及使用方法”的内容了,经过本文的学习后,相信大家对Java Calendar日历类的原理及使用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI