Java日期处理核心类之Calendar详解

接触过Java的同学应该都知道,Java有很多可以直接拿来使用的工具类,而这些工具类大部分来自于java.util包,有处理字符串的专门类,有从控制台输入的类等,而我们今天主要讨论的是Java中处理日期时间的类,JDK1.1之前我们通常使用java.util.Date这个类来处理日期时间,但是自JDK1.1之后推出了Calendar(日历)这个抽象类来专门用来处理日期时间,那么我们接下来就来研究研究这个Calendar类。

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。这是官方API对Calendar的解释。
作为抽象类,他本身不能直接实例化,程序只能创建Calendar子类的实例,Java本身提供了一个CregorianCalendar类,一个代表格里高利日历的子类,它代表了通常所说的公历.
在这里插入图片描述
Calendar的用法包括了一下几点:
1)获得年、月、日、周、小时、分钟
get(int field): 参数表示日历字段。如年、月、日等,它被Calendar类的静态常量,用法如下:
获得年:c.get(Calendar.YEAR)
获得月:c.get(Calendar.MONTH)
获得日:c.get(Calendar.DATE)

2)设置年、月、日、周、小时、分钟
set(int field,int value): 参数field的取值为Calendar.YEAR、Calendar.MONTH…

3)日期相加减
add(int fields, int amount):参数fields表示日历字段;amount为字段添加的日期或时间量,可以为负数。
将当前年份减1年:c.add(Calendar.YEAR,-1):
将当前天数加2天:c.add(Calendar.DATE,2)

4)将日期转换为Date对象
Date d=c.getTime();

Calendar中一些陷阱,很容易掉下去:
1、Calendar的星期是从周日开始的,常量值为0。
2、Calendar的月份是从一月开始的,常量值为0。
3、Calendar的每个月的第一天值为1。

在这里插入图片描述

下面给出一个综合实例看看Calendar类的用法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值