java.util.Calendar的用法
转自 http://blog.csdn.net/wangtao041/article/details/2757824
Calendar
类是一个抽象类,它为特定瞬间与一组诸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日历字段
之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected
。
与其他语言环境敏感类一样,Calendar
提供了一个类方法 getInstance
,以获得此类型的一个通用的对象。Calendar
的 getInstance
方法返回一个 Calendar
对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
Calendar
对象能够生成为特定语言和日历风格实现日期-时间格式化所需的所有日历字段值,例如,日语-格里高里历,日语-传统日历。Calendar
定义了某些日历字段返回值的范围,以及这些值的含义。例如,对于所有日历,日历系统第一个月的值是 MONTH == JANUARY
。其他值是由具体子类(例如 ERA
)定义的。
******************************************************************
例子:
java.util.Calendar对于日期的处理非常的方便,如newDate.set(Calendar.MONTH, 12); //加12个月,newDate.set(Calendar.DATE, -1); //前一天
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
public class calendartest {
/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
System.out.println("今天? :"+dateformat.format(new Date()));
Calendar c=Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
Date d1=new Date(c.getTimeInMillis());
System.out.println("星期一:"+dateformat.format(d1));
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Date d2=new Date(c.getTimeInMillis());
System.out.println("星期日:"+dateformat.format(d2));
}
}
执行结果:
今天? :2006-12-21 16:39:03 星期四
星期一:2006-12-18 16:39:03 星期一
星期日:2006-12-17 16:39:03 星期日
******************************************************************
Calendar 与 Date 的转换非常简单:
Calendar calendar = Calendar.getInstance();
// 从一个 Calendar 对象中获取 Date 对象
Date date = calendar.getTime();
// 将 Date 对象反应到一个 Calendar 对象中,
// Calendar/GregorianCalendar 没有构造函数可以接受 Date 对象
// 所以我们必需先获得一个实例,然后设置 Date 对象
calendar.setTime(date);
posted on 2013-05-25 06:51 Step-BY-Step 阅读(455) 评论(0) 编辑 收藏 举报