根据时间戳计算两个时间差

/**
     * 两个时间相差距离多少天多少小时多少分多少秒  <br>
     * 时间参数为 Unix时间戳
     * @param str1 时间参数 1 格式:1407132214
     * @param str2 时间参数 2 格式:1407132214
     * @return String 返回值为:xx天xx小时xx分xx秒
     */
    public static String getDistanceTime(String str1, String str2) {
        long day = 0;
        long hour = 0;
        long min = 0;
        long sec = 0;
        try {
            long time1 = Long.parseLong(str1) * 1000;
            long time2 = Long.parseLong(str2) * 1000;
            long diff ;
            diff = time2 - time1;
            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();
        }
        if(hour == 0){
         return min + "分" + sec + "秒";
        }else if(day == 0){
         return hour + "小时" + min + "分" + sec + "秒";
        }else{
         return day + "天" + hour + "小时" + min + "分" + sec + "秒";
        }
    }

/**
     * 两个时间相差距离多少天多少小时多少分多少秒 <br>
     * 时间参数为 Unix时间戳
     * @param str1 时间参数 1 格式:1407132214
     * @param str2 时间参数 2 格式:1407132214
     * @return long[] 返回值为:{天, 时, 分, 秒}
     */
    public static long[] getDistanceTimes(String str1, String str2) {
        long day = 0;
        long hour = 0;
        long min = 0;
        long sec = 0;
        try {
            long time1 = Long.parseLong(str1) * 1000;
            long time2 = Long.parseLong(str2) * 1000;
            long diff ;
            diff = time2 - time1;
            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; 
    }

根据时间戳计算两个时间差

时间: 2024-12-11 20:57:56

根据时间戳计算两个时间差的相关文章

计算两个时间差的两个函数

计算两个时间差的两个函数  两个时间之差- (NSString *)intervalFromLastDate: (NSString *) dateString1 toTheDate:(NSString *) dateString2{NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];dateString1=[timeArray1 objectAtIndex:0]; NSArray *timeArray2=

PHP计算两个时间差的方法

<?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtotime($startdate))/86400/3600); $minute=flo

php计算两个时间差

/**  * 计算两个时间差  * @param  [type] $start [description]  * @param  [type] $end   [description]  * @return [type]        [description]  */ function cdate($start,$end) {     $begin_time = strtotime($start);     $end_time   = strtotime($end); if($begin_ti

db2和oracle sql 语句中计算两个时间差的语法

db2 sql语句中计算两个日期相差的语法 结束日期为:2015-10-10  11:30:00 开始日期为:2015-09-09  10:40:00 (1)timestampdiff(8,char(结束时间-开始时间) )(加时分秒计算,会舍去零数)值为744小时 (2)(days(结束时间)-days(开始时间))*24 +hour(结束时间)-hour(开始时间) (不加时分秒计算)值为745小时 (3)Days(结束日期)-days(开始日期)的值为31天 (4)Day(结束日期)-da

java中计算两个时间差

java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try {  Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse(&

javascript计算两个时间差

其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒 var d1 = new Date('2016/03/28 10:17:22'); var d2 = new Date('2016/03/28 11:17:22'); console.log(parseInt(d2 - d1));//两个时间相差的毫秒数 console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数 console.log(parseIn

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

本函数实现两个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

C# 使用TimeSpan计算两个时间差

可以加两个日期之间任何一个时间单位. private string DateDiff(DateTime DateTime1, DateTime DateTime2) {string dateDiff = null; TimeSpan ts = DateTime1.Subtract(DateTime2).Duration(); dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes

用Linux shell 计算两个时间差

1.在日志中有两条记录id 开 始 时 间 结 束 时 间0dedffee485e7ddbbff1236cfc0d91 2018-06-28 16:55:37 2018-06-28 16:55:52 122dw049dc21b0a7dcdfegeat8c8 2018-06-28 17:21:01 2018-06-28 17:21:23 如何用linux shell 命令计算出:(结束时间 - 开始时间)的秒数? 拿到开始和结束时间字串的基础上的.start=date +%s -d "2018-0