首页 > 编程语言 > 详细

java两个时间相差多少天时分秒

时间:2019-05-25 20:16:40      阅读:137      评论:0      收藏:0      [点我收藏+]

[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 + "秒"; 
    } 

java两个时间相差多少天时分秒

原文:https://www.cnblogs.com/lixiangang/p/10923496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!