Calendar日期类使用总结

1:日期类的创建 Calendar ca=Calendar.getInstance();

各个方法的使用

1:Date getTime()   获取当前日历对象中的日期

2:setTime(Date date) 在当前日历对象中设置日期

3:long getTimeInMillis() 获取当前日历对象中的时间毫秒数

4:setTimeInMillis(long millis) 给日历对象中设置毫秒数,这么设置会改变当前的日期, 因为此操作也是一种设置日期的方式。

即就是设置日期有两种方式,一种是直接通过日期的形式 使用对应的set方法将日期放进这个日历对象中,还有一种方式是通过设置毫秒数来设置日期的。


部分代码:

/**
     * 计算两个日期之间间隔多少天
    */
    
    public static int daysBetween(Date smdate,Date bdate) throws ParseException    
    {    
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
        Calendar cal = Calendar.getInstance();    
        cal.setTime(smdate);    
        long time1 = cal.getTimeInMillis();                 
        cal.setTime(bdate);    
        long time2 = cal.getTimeInMillis();         
        long between_days=(time2-time1)/(1000*3600*24); 
       return Integer.parseInt(String.valueOf(between_days));           
    }

/**
        * 计算日期加固定天数后的日期
        */
    public static Date dateAddDays(Date date,int days) {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar cl = Calendar.getInstance();
        cl.setTime(date);
        cl.add(Calendar.DATE, days);
        return cl.getTime();
        
    }

 /**
     * 计算日期 根据上送的 参数的正负来确定是 上个月还是下个月
     * @param date
     * @param days
     * @return
     */
    public static Date getbeferDate(int i) {
        Date date1=new  Date();
        Calendar cl = Calendar.getInstance();
        cl.setTime(date1);
        cl.add(Calendar.MONTH, i);
        return cl.getTime();
    }

/**

* 计算每个月的第一天

/

 public static Date getFirstDay(Date month) {
        Calendar cale = null;
        cale = Calendar.getInstance();
        cale.setTime(month);
       // cale.add(Calendar.MONTH, 0);
        cale.set(Calendar.DAY_OF_MONTH, 1);  
        return cale.getTime();
        
    }

/**

*计算某个月的最后一天

*/

public static Date getEndDay(Date month) {
        Calendar cale = null;  
        cale = Calendar.getInstance();  
        cale.setTime(month);
        cale.add(Calendar.MONTH, 1);  
        cale.set(Calendar.DAY_OF_MONTH, 0);  
        return cale.getTime();
    }

 public static Date toMonth(Date month) throws ParseException {
        Calendar cale = null;  
        cale = Calendar.getInstance();  
        cale.setTime(month);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMM");
        String s=sdf.format(cale.getTime());
        return sdf.parse(s);
    }
    /**
     * 字符串转 日期
     * @param month
     * @return
     * @throws ParseException
     */
    public static Date str8Date(String str) throws ParseException {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
        return sdf.parse(str);
    }
    
    public static Date getPreviousDate(Date date,int a) {
        Calendar cale = null;  
        cale = Calendar.getInstance();
        cale.setTime(date);
        int c=cale.get(Calendar.DATE);
        cale.set(Calendar.DAY_OF_MONTH,c+a);
        return cale.getTime();
    }









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值