论坛首页 入门技术论坛

Java操作日期,Canlender方法

浏览 2889 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-22  
java.util.Carlendar介绍:
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

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


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

对于日期字段:
YEAR + MONTH + DAY_OF_MONTH
YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
YEAR + DAY_OF_YEAR
YEAR + DAY_OF_WEEK + WEEK_OF_YEAR


对于时间字段:
HOUR_OF_DAY
AM_PM + HOUR


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

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

全部代码如下:
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendar.DAY_OF_MONTH, +1);
date = calendar.getTime();

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

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

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

以上就完成了,将Date对象的日期加一的功能,更多功能操作相似,参加javadoc.
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics