现在的位置: 首页 > 综合 > 正文

Java日期Canlender

2018年05月21日 ⁄ 综合 ⁄ 共 1660字 ⁄ 字号 评论关闭

java.util.Carlendar介绍:
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

Java代码 复制代码
  1. Calendar rightNow = Calendar.getInstance();  

日历字段解析
在计算日历字段中的日期和时间时,可能没有足够的信息用于计算(例如只有年和月,但没有日),或者可能有不一致的信息( 例如 "Tuesday, July 15, 1996"(格林威治时间)——实际上,1996 年 7 月 15 日是星期一 )。Calendar 将解析日历字段值,以便用以下方式确定日期和时间。
如果日历字段值中存在任何冲突,则 Calendar 将为最近设置的日历字段提供优先权。以下是日历字段的默认组合。将使用由最近设置的单个字段所确定的最近组合。

对于日期字段:

Java代码 复制代码
  1. YEAR + MONTH + DAY_OF_MONTH   
  2. YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK   
  3. YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK   
  4. YEAR + DAY_OF_YEAR   
  5. YEAR + DAY_OF_WEEK + WEEK_OF_YEAR  

对于时间字段:

Java代码 复制代码
  1. HOUR_OF_DAY   
  2. AM_PM + HOUR  

字段操作
可以使用三种方法更改日历字段:set()、add() 和 roll()。(详细操作见javadoc)

例子
从页面得到一个日期,并将这个日期的天加一天:

全部代码如下:

Java代码 复制代码
  1. Date date = new Date();   
  2. Calendar calendar = Calendar.getInstance();   
  3. calendar.setTime(date);   
  4. calendar.add(calendar.DAY_OF_MONTH, +1);   
  5. date = calendar.getTime();  

假设Date对象得到页面输入的日期,然后通过Calendar的getInstance方法得到其实例,然后通过setTime方法将Date对象中的日期转换为Calendar对象.

现在就是最关键这步,使用calendar的add方法,对日期进行操作,首先add方法有两个参数:

Java代码 复制代码
  1. public abstract void add(int field,int amount)  

field :日历字段,通过calendar的成员得到其值(calendar成员很多,参加javadoc);
amount :为字段添加的日期或时间量,通过该参数,设置需要增加或者减少的时间范围.

抱歉!评论已关闭.