JAVA 时间差距,两个时间相差多少天,时,分,秒

JAVA 时间差距,两个时间相差多少天,时,分,秒

package io;

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("yyyy-MM-dd HH:mm:ss");
        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("yyyy-MM-dd HH:mm:ss");
        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 + "秒";
    }

    public static void main(String[] args) {
        String str = getDistanceTime("2014-1-7 12:12:33.0",
                "2014-6-6 12:12:12.0");
        System.out.println(str);
    }
}

转自 : http://hi.baidu.com/odnvxdpbiqimnwr/item/192ca00d13e9e50b6d90483a

JAVA 时间差距,两个时间相差多少天,时,分,秒

时间: 2024-08-28 01:13:45

JAVA 时间差距,两个时间相差多少天,时,分,秒的相关文章

mysql 获取系统时间的下一天 年-月-日 时:分:秒

select (NOW() + INTERVAL 1 DAY) as date 原文地址:https://www.cnblogs.com/shikaijie/p/9932433.html

php计算时间差/两个时间日期相隔的天数,时,分,秒.

<?php function timediff( $begin_time, $end_time ) { if ( $begin_time < $end_time ) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin_time; } $timediff = $endtime - $starttime; $days = intval( $timed

基于jqeury/zepto的年/月/日 时:分:秒 时间快捷控件(支持键盘操作)

最近在项目中屡次遇到时分秒格式的时间输入需求, 还老被吐槽说这个时间输入贼蛋疼,一不小心就输错,而且花费的时间不少.为了堵住悠悠用户之口,也为了今后有需求能直接拿来使用~~so整了这个简易的小控件.支持根据默认时间格式自动生成对应格式控件,支持键盘上下按键调整时间(长按连续调整), 支持键盘左右按键切换时间输入位置,当然...时间控件的位置完全可以自行定义 HTML和CSS狠简单: <style> form, p, span, div, ul, li, input, dl, dt, dd, h

Java 8 表示两个时间点距离

Java JDK8 的 java.time API 提供全面的 date 和 time 的模型,用起来也方便. 下面是使用案例:求两个时间点的距离. package com.tony.test; import static java.lang.System.out; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; p

Java中判断两个时间是否相隔一天

/**      * 判断两个时间是否相隔一天      */     public static boolean overOneDay(String date1,String date2){         Date startTime =stringToDate(date1);         Date endTime =stringToDate(date2);         long  between = endTime.getTime() - startTime.getTime();

ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=DateTime.Now;   //2010-5-28  11:22:02.4552691 星期五               ime.To("y")                         "2010年5月"               time.To("

计算两个时间差并返回差多少天,时,分,秒

本函数实现两个unix时间戳的差,并返回两个时间戳相差的天.小时.分.秒,精确到秒,两个参数都是时间戳,虽然代码很简单,但是很实用. function timediff($begin_time,$end_time) { if($begin_time < $end_time){ $starttime = $begin_time; $endtime = $end_time; } else{ $starttime = $end_time; $endtime = $begin_time; } $time

【转】使用DateFormat把时间长度格式化为&quot;时:分:秒&quot;格式--不错

原文网址:http://ssd910.blog.163.com/blog/static/238767972010112214114201/ 经常在系统中显示时间长度,基本上每次都是显示秒数,客户觉得按时分秒("HH:mm:ss")的格式显示比较明了,一般开发人员都是自己去计算小时是多少?分钟是多少...,其实可以用DateFormat来格式这个显示方式.示例代码如下:示例: 计算某人总的登陆时间登陆时间是10:12:14结束时间是15:20:35示例代码:  Calendar c1 =

获取当前时间(年/月/日/时/分/秒)

struct tm* GetCurTime(time_t inTime) { struct tm* curTime = localtime(&inTime); curTime->tm_year += 1900; curTime->tm_mon += 1; return curTime; }

js将当前时间格式化为年-月-日 时:分:秒

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Time</title> </head> <body> <script type="text/javascript"> var d=new Date(); var year=d.getFullYear(