java计算两个时间相差(天、小时、分钟、秒)

public static Long dateDiff(String startTime, String endTime,  String format, String str) {
        // 按照传入的格式生成一个simpledateformate对象
        SimpleDateFormat sd = new SimpleDateFormat(format);
        long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
        long nh = 1000 * 60 * 60;// 一小时的毫秒数
        long nm = 1000 * 60;// 一分钟的毫秒数
        long ns = 1000;// 一秒钟的毫秒数
        long diff;
        long day = 0;
        long hour = 0;
        long min = 0;
        long sec = 0;
        // 获得两个时间的毫秒时间差异
        try {
            diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
            day = diff / nd;// 计算差多少天
            hour = diff % nd / nh + day * 24;// 计算差多少小时
            min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟
            sec = diff % nd % nh % nm / ns;// 计算差多少秒
            // 输出结果
            System.out.println("时间相差:" + day + "天" + (hour - day * 24) + "小时"
                    + (min - day * 24 * 60) + "分钟" + sec + "秒。");
            System.out.println("hour=" + hour + ",min=" + min);
            if (str.equalsIgnoreCase("h")) {
                return hour;
            } else {
                return min;
            }  

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if (str.equalsIgnoreCase("h")) {
            return hour;
        } else {
            return min;
        }
}

本文转自:http://lwg2001s.iteye.com/blog/1621593

时间: 2024-10-25 04:21:55

java计算两个时间相差(天、小时、分钟、秒)的相关文章

java 判断两个时间相差的天数!

package com.datedaycha;     import java.text.SimpleDateFormat;     import java.util.Calendar;     import java.util.Date;     import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;     /*      * java 判断两个时间相差的天数     1.实现目标     输入:两

C/C++中计算两个时间相差的天数

在系统中经常用到time()函数获取系统时间,也就是通常所说的日历时间,这个时间是从1970年1月1日0时开始到现在的秒数. 问:已有日历时间t1和t2(假设t1>t2),如何计算他们之间相差的天数. 答: day = (t1+time_zone*60*60)/time_of_day - (t2+time_zone*60*60)/time_of_day 其中time_zone表示时区间隔,比如说北京时间相比于标准时间就需要加8小时,可以参考下图.time_of_day为一天的秒数,等于24*60

js计算两个时间相差的天数

day1='2014-03-31 00:00:01'; function get_day(day1,day2){ var s = day1; var dt = Date.parse(s.replace(/-/g,"/")); var day1 = new Date(dt); var s = day2; var dt = Date.parse(s.replace(/-/g,"/")); var day2 = new Date(dt); var date3=day1.g

计算两个时间相差多少年月日的sql算法

1 /****** Object: StoredProcedure [dbo].[GetDateDiff] Script Date: 11/12/2019 16:14:05 ******/ 2 SET ANSI_NULLS ON 3 GO 4 SET QUOTED_IDENTIFIER ON 5 GO 6 --计算两个时间相差多少年月日的sql算法,用于新生儿年龄计算 7 ALTER PROCEDURE [dbo].[GetDateDiff] 8 @fromDate NVARCHAR(10) ,

js计算两个时间相差天数

//new Date(aDate[1], aDate[2], aDate[0]) 兼容性比new Date(aDate[1]+"-"+ aDate[2]+"-"+aDate[0])强 //两个时间相差天数 function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12-18格式 var aDate, oDate1, oDate2, iDays aDate = sDate1.split("-

Java计算两个时间的天数差与月数差 LocalDateTime

/**  * 计算两个时间点的天数差  * @param dt1 第一个时间点  * @param dt2 第二个时间点  * @return int,即要计算的天数差  */ public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){  //获取第一个时间点的时间戳对应的秒数  long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));  //获取第一个时间点在是1970年1月1日

Java计算两个日期相差的天数

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { /

Java 计算两个日期相差的天数

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { /

Java 计算两个日期相差月数、天数

package com.myjava; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; public class MyCalendar { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException {