java 两个时间字符串的时间差_孔孟道人的博客-程序员宅基地

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 + "秒";
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37118250/article/details/80390066

智能推荐

基于GA优化的BP网络算法分析与MATLAB实现【matlab优化算法三】_matalab bp-ga算法_张叔zhangshu的博客-程序员宅基地

简介遗传算法基于GA优化BP网络大脑图像分割基于GA优化BP神经网络矿井通风计算_matalab bp-ga算法

cocos2d-x学习笔记——cocoa目录-程序员宅基地

cocoa目录存放基本类型和工具。CCAffineTransform功能:二维坐标点平移、缩放等变化功能。CCArray功能:类似std::vector,存放CCObject类型。CCAutoreleasePool功能:自动释放的CCObject对象池。疑问:CCPoolManager为什么需要多个CCAutoreleasePoolCCDictionar

php怎么上传视频和播放器,新增插件:视频音乐播放器(PHP版)-程序员宅基地

该插件收费(价格请在PHP版后台页头应用平台-插件应用查看),通过该插件网站可以很好的支持MP4视频播放和MP3音乐播放功能,为网站提供视频在线播放或音乐在线播放提供可靠保障。购买/下载该插件后,将出现选项:1、后台 新增/修改文章 增加 视频音频地址 项:2、版本v3.80+,常规设置→插件参数设置,如下图:设置前台音视频显示大小参数版本v3.80以下,文章管理→文章参数设置,如下图:设置前台音..._php dhplayersetup

:400+考研 北京航空航天大学17系仪器科学与光电工程学院873仪器综合资料合辑-程序员宅基地

400+考研唯一官方淘宝店400plus.taobao.com副标题:北航本科课件+笔记+《数字电路》《自动控制原理》期末试题+911历年真题及答案解析400+考研根植于北航考研多年,无论是师资还是资料都来源于北航,同时能够第一时间掌握考研信息,做到了来源于北航,专注于北航。最新版873仪器综合全套资料,内含真题,解析,课件,期末题等所有考生能想到的内部资料,做到与北航本校学生无差别对待。

MySQL8.0.23的安装-程序员宅基地

前言为了开始动手操作,践行“纸上得来终觉浅”的理念,我决定不仅要下载MySQL操作,还要把它和Navicat连接上,便于自己练习数据库的各种操作。踩过的坑之前看各种视频,上面有的是旧的MySQL软件版本加上旧的Navi,有的是较新的MySQL加上旧的Navi……看过这些视频的我,心中产生了困惑,到底是该安装什么版本的MySQL和NAVI?(黑人问号脸?)结论经过实践,得出即使是最新的MYSQL也能和各种NAVI连接的哦!所以我最后安装了最新的8.0.23版本和NAVI15,并成功连接了它们!这也算

SDUT 2604 第四届山东省ACM省赛 Thrall’s Dream(DFS或BFS)-程序员宅基地

传送门:SDUT 2604题目大意:给你一个有向图,问图中是否任意两点之间都存在路径可达。思路:我们可以先求出对于每个点,它可以到达的点有哪些。用数组 can[i][j] 保存点 i 到 j 是否可达。然后对于两个点 i、j 是否 i 不可到达 j 同时 j 也不可到达 i。网上好多代码都是用 BFS写的,感觉没必要……DFS完全可以实现,并且代码更短,效率也差不多。既然是求每个点可达的点,我们只...

随便推点

Eclipse导入Java项目报错_eclipse导入不了java项目_layman .的博客-程序员宅基地

Eclipse中导入Java项目出现“No projects are found to import”原因:这其实是因为项目中缺少了两个文件:.classpath文件和 .project文件,所以eclipse找不到你的项目了。解决方案:在Eclipse中再新建一个新的项目,项目的类型和名称和导入的项目名一样,然后再新建的项目目录下,找到**.classpath**文件和 .project文件,把它们复制到想要导入的项目中。最后就可以成功导入,不会报错了。..._eclipse导入不了java项目

Python中sorted()方法的用法-程序员宅基地

我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了 一些精彩的解决办法。 #最简单的方法,这个是按照key值排序: def sortedDictVal

FPGA之RAM详解,真双口RAM的使用_青青豌豆的博客-程序员宅基地

真双口RAM IP练习 真双口RAM可以说是灵活性最大的RAM IP核,因为它赋予了用户最大的设计空间,两个可以独立读写地址空间的端口,充分释放了FPGA程序设计上的可能。 但是实际上真双口RAM在工程项目中还是和单双口RAM一样使用频率比较低的,因为其太过灵活自由了,就导致了用户在设计程序的过程中,比较难以驾驭,最大的苦恼即来自于两个独立读写端口的不可避免的读写冲突,当然也有一些FPGA工程师单独做了一个相对复杂的读写状态机,在程序设计上可以规避读写冲突,但是笔者也和大部分朋友们一样,比..._真双口ram

【零基础学QT】第九章 窗口美化QSS的使用-程序员宅基地

在我们前面制作的窗口 我们可以看到都是比较丑陋的,在一个项目中肯定是不能就这样发布软件的,所以本章我们来制作一个美观的主界面窗口,同时会介绍使用QSS进行窗口的美化,也会通过代码实现一些自定义窗口的效果,首先我们需要创建一个我们的实验工程,本次实验我们做一个登录界面,布局如下你们的布局不一定要和我相同,该章的内容并不限定布局,主要是针对窗口和单个控件的美化,最终的效果是可以根据自己的审美进行修改的,下面我们一步步的开始美化我们的窗口;

学习linux用哪个版本好-程序员宅基地

目前主流和常用的Linux版本主要有:1、Redhat 版本5.5和6.0最新;培训、学习、应用、知名度最高的Linux发行版本,对硬件兼容性来说也比较不错,版本更新很快,对新硬件和新技术支持较好。2、Debian 版本5.0和6.0最新;社区版的Linux来说是较好的,文档和资料较多,尤其是英文的。但在国内的占有率有一定的局限性。关键是上手难,但在所有的Linux发行版本中,这个版本应该说是

mysql使用MVCC来解决幻读_MVCC 能解决幻读吗?_梦嘻笔弹的博客-程序员宅基地

昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control), 用于支持RC..._mvcc rr 幻读