您的位置:首页 > 编程语言 > Java开发

Java中关于时间间隔的计算

2015-09-24 19:26 423 查看

一、Java计算时间差及比较时间大小(时间点)

比如:现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date begin=dfs.parse("2004-01-02 11:30:24");

java.util.Date end = dfs.parse("2004-03-26 13:31:40");

long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);

long hour1=between%(24*3600)/3600;

long minute1=between%3600/60;

long second1=between%60/60;

System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");


二、相隔几天的时间

需要使用java.util.Calendar

public abstract void add(int field,
                         int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历

时间减去 5 天,可以通过调用以下方法做到这一点: 
add(Calendar.DAY_OF_MONTH, -5)。

三、JAVA计算两个日期相差的天数

/** 

     * 计算两个日期之间相差的天数 

     * param date1 

     * param date2 

     * return 

     */  

    public static int daysBetween(Date date1,Date date2)  

    {  

        Calendar cal = Calendar.getInstance();  

        cal.setTime(date1);  

        long time1 = cal.getTimeInMillis();               

        cal.setTime(date2);  

        long time2 = cal.getTimeInMillis();       

        long between_days=(time2-time1)/(1000*3600*24);  

          

       return Integer.parseInt(String.valueOf(between_days));         

    }  

三、String类转Date类算时间差

自己项目中的代码截图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息