`

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

    博客分类:
  • java
阅读更多

package 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("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 + "秒";

    }

}

 

 

分享到:
评论

相关推荐

    java中计算两个日期相差几天

    ### Java中计算两个日期相差几天 在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中...

    比较两个日期相差多少秒的几种方法

    在编程中,经常需要处理日期和时间,包括比较两个日期之间的差距。这个任务可以用于记录事件发生的时间间隔,计算年龄,或者在各种时间相关的算法中。以下是对标题和描述中提到的四种方法的详细解释: 1. **...

    比较两个日期之间相差的天数

    在Java编程语言中,比较两个日期之间的差值是一个常见的需求,尤其是在处理日历相关的功能时。本文将详细介绍如何在Java中计算两个日期之间的天数差,并对给出的代码进行解析。 #### 一、问题背景 在很多业务场景...

    java计算两个日期相隔的天数

    在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...

    JS计算两个时间相差分钟数的方法示例

    在JavaScript中,计算两个时间相差的分钟数是一个常见的任务,特别是在处理用户输入或者进行时间相关的逻辑时。本文通过一个具体的示例,展示了如何利用JavaScript来计算两个时间的差距,以分钟为单位。以下是对该...

    计算时间差以及比较日期大小

    根据给定的信息,本文将详细解释如何在Java中计算两个日期之间的时间差,并演示如何比较两个日期的大小。 ### 计算两个日期间的时间差 #### 使用`java.util.Date`和`java.text.SimpleDateFormat` 首先,我们需要...

    计算日期相隔的时间,天数,分钟,秒数

    在编程领域,计算两个日期之间的差值是一项常见的任务,它涉及到日期和时间的处理。本文将深入探讨如何在各种编程语言中计算日期相隔的时间,包括天数、分钟和秒数,以及时间间隔的计算方法。 首先,让我们理解日期...

    用java语言编写的日历.zip_java 日历_jave_日历 java

    Java日历相关的知识点还包括`Date`类和`SimpleDateFormat`类,这两个类在处理日期格式化时非常有用。`Date`类代表特定的瞬间,精确到毫秒,而`SimpleDateFormat`则用于日期和时间的格式化和解析。例如: ```java ...

    指定两个日期计算相隔的天数

    上述语句将返回31,表示两个日期间相差31天。 3. **VBA(Visual Basic for Applications)**: 提供的文件"DATEDIFF.VBP"可能是一个VB6或VBA项目,其中的`DATEDIFF`函数是VB中的内置函数,用于计算两个日期之间的...

    javaScript和java中日期相减得出天数方案.docx

    无论是JavaScript还是Java,计算两个日期之间相差天数的基本原理都是相似的:先将日期转换为统一的时间单位(通常是毫秒),然后计算两个时间单位之间的差值,并将其转换为所需的单位(如天)。在实际开发中,还需要...

    基于MATLAB与JAVA的混合编程研究及实现

    - **不同编程语言实现相同算法效率相差很大**:如果两种语言在实现同一功能时效率差距明显,那么采用混合编程就可以充分发挥各自的优势。 - **不同软件间除了数据通讯外,其他相互独立**:即各部分代码仅处理自身...

    分享javascript计算时间差的示例代码

    接下来,计算两个时间点之间的差距通常涉及到计算它们之间相差的毫秒数。在JavaScript中,我们可以直接通过减法操作符 `-` 来获取两个Date对象之间的毫秒差,如 `endTime - new Date()`。然后,为了得到更易读的形式...

    java程序员面试智力题

    这是因为只有当石头重23公斤时,才会出现一个孩子的猜测与真实重量相差2公斤(即21公斤),同时有两个孩子的猜测与真实重量差距相同(即17公斤和26公斤)。 #### 三、数学应用 **6. 三只砝码称东西** - **题目描述...

    timecalculator

    例如,用户可能需要知道两个日期之间相差多少天,或者一个时间点距离现在有多远。这需要使用到日期时间类库,如Python的datetime模块,JavaScript的Date对象,或者Java的LocalDateTime等。 3. 时间单位转换 除了...

    英文单词形近字的判断

    1. **长度相近**:两个形近字的长度不会相差太大。 2. **字母频率接近**:形近字中各个字母出现的次数大致相同。 3. **字母排列顺序相似**:两个单词中部分或全部字母的排列顺序相同或相似。 ##### 2.2 形近字的...

    Android工具类

    - 时间差计算:可以计算两个日期或时间之间的差距,例如计算相差的天数或小时数。 - 时间戳转换:将Unix时间戳转换为易读的日期格式。 5. **字符串操作** - 字符串拼接:工具类可能包含高效字符串拼接的方法,...

Global site tag (gtag.js) - Google Analytics