zoukankan      html  css  js  c++  java
  • java两个时间相差多少天时分秒

    [size=medium;]package[/size] ben.util; 

    import java.text.DateFormat; 
    import java.text.ParseException; 
    import java.text.SimpleDateFormat; 
    import java.util.Date; 

    /** 
    * 时间相距 
    * @author Ben 
    * @version 1.0 
    * @date 2009-10-21 16:38:51 
    */ 
    public class DateDistance { 
        
        /** 
         * 两个时间之间相差距离多少天 
         * @param one 时间参数 1: 
         * @param two 时间参数 2: 
         * @return 相差天数 
         */ 
        public static long getDistanceDays(String str1, String str2) throws Exception{ 
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
            Date one; 
            Date two; 
            long days=0; 
            try { 
                one = df.parse(str1); 
                two = df.parse(str2); 
                long time1 = one.getTime(); 
                long time2 = two.getTime(); 
                long diff ; 
                if(time1<time2) { 
                    diff = time2 - time1; 
                } else { 
                    diff = time1 - time2; 
                } 
                days = diff / (1000 * 60 * 60 * 24); 
            } catch (ParseException e) { 
                e.printStackTrace(); 
            } 
            return days; 
        } 
        
        /** 
         * 两个时间相差距离多少天多少小时多少分多少秒 
         * @param str1 时间参数 1 格式:1990-01-01 12:00:00 
         * @param str2 时间参数 2 格式:2009-01-01 12:00:00 
         * @return long[] 返回值为:{天, 时, 分, 秒} 
         */ 
        public static long[] getDistanceTimes(String str1, String str2) { 
            DateFormat df = new SimpleDateFormat(&quot;yyyy-MM-dd HH:mm:ss&quot;); 
            Date one; 
            Date two; 
            long day = 0; 
            long hour = 0; 
            long min = 0; 
            long sec = 0; 
            try { 
                one = df.parse(str1); 
                two = df.parse(str2); 
                long time1 = one.getTime(); 
                long time2 = two.getTime(); 
                long diff ; 
                if(time1<time2) { 
                    diff = time2 - time1; 
                } else { 
                    diff = time1 - time2; 
                } 
                day = diff / (24 * 60 * 60 * 1000); 
                hour = (diff / (60 * 60 * 1000) - day * 24); 
                min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60); 
                sec = (diff/1000-day*24*60*60-hour*60*60-min*60); 
            } catch (ParseException e) { 
                e.printStackTrace(); 
            } 
            long[] times = {day, hour, min, sec}; 
            return times; 
        } 

        /** 
         * 两个时间相差距离多少天多少小时多少分多少秒 
         * @param str1 时间参数 1 格式:1990-01-01 12:00:00 
         * @param str2 时间参数 2 格式:2009-01-01 12:00:00 
         * @return String 返回值为:xx天xx小时xx分xx秒 
         */ 
        public static String getDistanceTime(String str1, String str2) { 
            DateFormat df = new SimpleDateFormat(&quot;yyyy-MM-dd HH:mm:ss&quot;); 
            Date one; 
            Date two; 
            long day = 0; 
            long hour = 0; 
            long min = 0; 
            long sec = 0; 
            try { 
                one = df.parse(str1); 
                two = df.parse(str2); 
                long time1 = one.getTime(); 
                long time2 = two.getTime(); 
                long diff ; 
                if(time1<time2) { 
                    diff = time2 - time1; 
                } else { 
                    diff = time1 - time2; 
                } 
                day = diff / (24 * 60 * 60 * 1000); 
                hour = (diff / (60 * 60 * 1000) - day * 24); 
                min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60); 
                sec = (diff/1000-day*24*60*60-hour*60*60-min*60); 
            } catch (ParseException e) { 
                e.printStackTrace(); 
            } 
            return day + "天" + hour + "小时" + min + "分" + sec + "秒"; 
        } 

  • 相关阅读:
    Linux部署springboot项目创建守护进程
    实现数据库安全性控制的方法和主要技术。
    推荐一些学习MySQL的资源
    带你解析MySQL binlog
    一文解决MySQL时区相关问题
    手把手教你看MySQL官方文档
    MySQL关于日期为零值的处理
    关于日期及时间字段的查询
    是时候学习Linux了
    MySQL分区表最佳实践
  • 原文地址:https://www.cnblogs.com/lixiangang/p/10923496.html
Copyright © 2011-2022 走看看