计算两个日期间,间隔时间

Posted tomatoes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个日期间,间隔时间相关的知识,希望对你有一定的参考价值。

/**
* 测试

@param args
*/
public static void main(String[] args) {
String date1 = "2007-03-01 12:00:00";
String date2 = "2007-03-01 20:20:01";
long[] distanceTimes = null;
try {
distanceTimes = LockCallBack.getDistanceTimes(date1, date2);
} catch (ParseException e) {
throw new ServiceException(500, "时间格式不是系统所匹配的");
}

    for (long i:
         distanceTimes) {
        System.out.println(i+",");
    }

}

/**
 * 两个时间相差距离多少天多少小时多少分多少秒
 *
 * @param str1 时间参数 1 格式:1990-01-01 12:00:00
 * @param str2 时间参数 2 格式:2009-01-01 12:00:00
 * @return long[] 返回值为:{天, 时, 分, 秒}
 * @throws java.text.ParseException
 */
public static long[] getDistanceTimes(String str1, String str2) throws ParseException {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date one;
    Date two;
    long day = 0;
    long hour = 0;
    long min = 0;
    long sec = 0;
    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);
    long[] times = {day, hour, min, sec};
    return times;
}

以上是关于计算两个日期间,间隔时间的主要内容,如果未能解决你的问题,请参考以下文章

Excel中计算两个日期之间的天数,扣除周六周日

VB计算两个日期时间的间隔

Hivesql计算两个时间戳相差的分钟数

js获两个时间间隔天数 除星期天

两个日期之间的时间间隔返回 nil

delphi中如何计算当前日期与一个固定日期间的天数