常用Java Date 方法集合(第二部分)

来源:chinaitlab        2009-07-24 19:51:12        点击:
收藏本页:


顶一下

6.Java Date之计算两个任意时间中间的间隔天数(这个比较常用):(1)传进Calendar对象: public int getIntervalDays(Calendar startday,Calendar endday)...{      

常用Java Date 方法集合(第二部分) 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有。如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题。

6.Java Date之计算两个任意时间中间的间隔天数(这个比较常用):

(1)传进Calendar对象:

public int getIntervalDays(Calendar startday,Calendar endday)...{         
    if(startday.after(endday))...{  
        Calendar cal=startday;  
        startday=endday;  
        endday=cal;  
    }      
    long sl=startday.getTimeInMillis();  
    long el=endday.getTimeInMillis();  
     
    long ei=el-sl;             
    return (int)(ei/(1000*60*60*24));  
} 

(2)传进Date对象:
public int getIntervalDays(Date startday,Date endday)...{          
    if(startday.after(endday))...{  
        Date cal=startday;  
        startday=endday;  
        endday=cal;  
    }          
    long sl=startday.getTime();  
    long el=endday.getTime();         
    long ei=el-sl;             
    return (int)(ei/(1000*60*60*24));  
} 
(3)改进精确计算相隔天数的方法:
public int getDaysBetween (Calendar d1, Calendar d2) ...{  
    if (d1.after(d2)) ...{   
        java.util.Calendar swap = d1;  
        d1 = d2;  
        d2 = swap;  
    }  
    int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);  
    int y2 = d2.get(Calendar.YEAR);  
    if (d1.get(Calendar.YEAR) != y2) ...{  
        d1 = (Calendar) d1.clone();  
        do ...{  
            days = d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数  
            d1.add(Calendar.YEAR, 1);  
        } while (d1.get(Calendar.YEAR) != y2);  
    }  
    return days;  
} 

注意:通过上面的方法可以衍生出求任何时间,如要查出邮箱三周之内收到的邮件(得到当前系统时间-再得到三周前时间)用收件的时间去匹配 最好装化成 long去比较。内容来源:www.linux 521.com Linux系统中文网

《Linux系统中文网》欢迎原创作者投稿,请先注册成为会员,然后在后台 相应的栏目里提交你的文章,注意填写好相关信息点“保存”。我们将在24小时之内审核完毕。

我要评论: 常用Java Date 方法集合(第二部分)
请务必尊重网上道德,遵守中华人民共和国的各项法律法规,承担一切因您的行为而直接或间接导致的法律责任。本站管理人员有权删除留言中的任意内容。

昵称  验证码  
热门
相关