CalendarDemo Calendar 类的创建及用法

/**
Calendar 类,其主要作用于其方法可以对时间分量进行运算.
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,
并为操作日历字段提供了一些方法。
它是一个抽象类,其提供了一个工厂方法:Calendar getInstance()。
该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。
 
主要方法:
1.void set(int field,int value)
该方法可以通过对不同的时间分量分别设置不同的值。
Calendar对不同的时间分量提供了相应的常量,我们在使用set方法设置时,第一个参数就应当使用对应的常量作为时间分量。
 
2.int get(int field)
该方法可以通过对不同的时间分量获取相应的值。
Calendar对不同的时间分量提供了相应的常量,我们在使用get方法获取时,参数就应当使用对应的常量作为时间分量。
 
3.void add(int field,int amount)
该方法可以为某个时间分量的值加上给定的值,若想减去给定的值,那么传入的值需要是负数即可.
 
4.setTime与getTime方法
 
(Calendar ---->   Date)
Calendar的void setTime(Date date),允许我们为Calendar设置Date对象所表示的时间。
 
(Date  ---->   Calendar)
Calendar的Date getTime(),允许我们获取一个使用Date对象描述的Calendar所表示的时间。
 
5.int getActualMaximum(int field)
该方法用于获取给定时间分量所允许的最大值
例如:获取当前系统时间中当月的最后一天(日所允许的最大值)
int max = calendar. getActualMaximum(Calendar.DAY_OF_MONTH);
 
 
本案例要求获取Calendar类的实例,获取实例后做如下操作:
1) 获取Calendar实例所属的实际类型,并输出。
2) 将Calendar对象转换为Date对象,并输出该Date对象。
3) 使用GregorianCalendar构建对象,该对象对应的日期为2013年12月25日,将GregorianCalendar对象转换为Date对象,并输出该Date对象。
 
    关于Date,SimpleDateFormat,Calendar三者的配合流程
         * 配合使用的大致流程与情景。
         * 用户输入一个日期,然后根据一系列的计算,最后将得出的日期显示给用户
         * 例如;
         * 用户输入一个商品的生产日期,和保质期的天数,查看过期的日期。
         * 流程:
         * 1.用户输入一个日期,和其他信息
         * 2.将用户输入日期(字符串)通过
         * SimpleDateformat转换Date
         * 3.将Date转换为Calendar
         * 4.通过Calendar对时间进行一系列的计算
         * 5.将计算后的Calendar表示的时间再转换为Date
         * 6.将Date通过SimpleDateFormat转换为字符串
         * 7.输出给用户日期结果。
 */
public class CalendarDemo1 {

    public static void main(String[] args) {
        /*本案例要求获取Calendar类的实例,获取实例后做如下操作:*/
        Calendar calendar = Calendar.getInstance();

        System.out.println(calendar.getClass().getName());
        /* 输出结果: java.util.GregorianCalendar
         * Calendar是抽象类,其具体子类针对不同国家的日历系统,
         * 其中应用最广泛的是GregorianCalendar(格里高里历,即通用的阳历),
         * 对应世界上绝大多数国家/地区使用的标准日历系统。
         * */

        //2) 将Calendar对象转换为Date对象,并输出该Date对象。
        System.out.println(calendar.getTime());
        //Sat Apr 30 17:57:43 GMT+08:00 2016

        //3) 使用GregorianCalendar构建对象,该对象对应的日期为2013年12月25日,
        //      将GregorianCalendar对象转换为Date对象,并输出该Date对象。
        /*Calendar的构造方法
        protected Calendar(TimeZone zone,Locale aLocale)    */
        GregorianCalendar c1 = new GregorianCalendar(2013,GregorianCalendar.DECEMBER,25);
        System.out.println(c1.getTime());    
        //Wed Dec 25 00:00:00 GMT+08:00 2013
    }
}

 

posted @ 2016-04-30 18:07  安仔80  阅读(694)  评论(0编辑  收藏  举报