java语言编程实现两个时间相差多少天、多少小时、多少分、多少秒
不多说,直接上干货!

DateDistance.java
package zhouls.bigdata.DataFeatureSelection.test; import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* 两个时间差计算
*/
public class DateDistance {
private static String distanceTime;
public static void main(String[] args) throws Exception {
String startday = "2017-09-20";
String endday ="2017-09-28";
long DistanceDays = getDistanceDays(startday,endday);//两个时间之间相差距离多少天
System.out.println(DistanceDays); String starttimes = "2017-01-17 00:10:20";
String endtimes ="2017-01-18 00:10:21";
long[] DistanceTimes = getDistanceTimes(starttimes,endtimes);//两个时间相差距离多少天多少小时多少分多少秒 ,以long[]形式返回
for (int i = ; i < DistanceTimes.length; i++) {
System.out.println(DistanceTimes[i]);
} String DistanceTime = getDistanceTime(starttimes,endtimes);//两个时间相差距离多少天多少小时多少分多少秒 ,以String形式返回
System.out.println(DistanceTime);
} /**
* 两个时间之间相差距离多少天
* @param one 时间参数 1:
* @param two 时间参数 2:
* @return 相差天数
*/
public static long getDistanceDays(String starttime, String endtime) throws Exception{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date one;
Date two;
long days=;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
days = diff / ( * * * );
} 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 starttime, String endtime) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date one;
Date two;
long day = ;
long hour = ;
long min = ;
long sec = ;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / ( * * * );
hour = (diff / ( * * ) - day * );
min = ((diff / ( * )) - day * * - hour * );
sec = (diff/-day***-hour**-min*);
} 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 starttime, String endtime) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date one;
Date two;
long day = ;
long hour = ;
long min = ;
long sec = ;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / ( * * * );
hour = (diff / ( * * ) - day * );
min = ((diff / ( * )) - day * * - hour * );
sec = (diff/-day***-hour**-min*);
} catch (ParseException e) {
e.printStackTrace();
}
return day + "天" + hour + "小时" + min + "分" + sec + "秒";
}
}
当然,我们可以进一步,将其放到一个时间的工具类去。
java编程如何实现多条2017-08-08 22:10:00.0这样的时间数据,相差多少天?(隔24小时为相差1天,否则为0天)
java编程如何实现多条2017-01-16 22:28:11.0这样的时间数据,转换成Date类型Mon Jan 16 22:28:11 CST 2017这样的时间数据
java编程如何实现2017-01-16 22:28:26.0这样的时间数据,转换成2017:01:16:22:28:26这样的时间数据
同时,这里大家也可以更改格式

DateDistance.java
package zhouls.bigdata.DataFeatureSelection.test; import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* 两个时间差计算
*/
public class DateDistance {
private static String distanceTime;
public static void main(String[] args) throws Exception {
String startday = "2017:09:20";
String endday ="2017:09:28";
long DistanceDays = getDistanceDays(startday,endday);//两个时间之间相差距离多少天
System.out.println(DistanceDays); String starttimes = "2017:01:17 00:10:20";
String endtimes ="2017:01:18 00:10:21";
long[] DistanceTimes = getDistanceTimes(starttimes,endtimes);//两个时间相差距离多少天多少小时多少分多少秒 ,以long[]形式返回
for (int i = ; i < DistanceTimes.length; i++) {
System.out.println(DistanceTimes[i]);
} String DistanceTime = getDistanceTime(starttimes,endtimes);//两个时间相差距离多少天多少小时多少分多少秒 ,以String形式返回
System.out.println(DistanceTime);
} /**
* 两个时间之间相差距离多少天
* @param one 时间参数 1:
* @param two 时间参数 2:
* @return 相差天数
*/
public static long getDistanceDays(String starttime, String endtime) throws Exception{
DateFormat df = new SimpleDateFormat("yyyy:MM:dd");
Date one;
Date two;
long days=;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
days = diff / ( * * * );
} 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 starttime, String endtime) {
DateFormat df = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
Date one;
Date two;
long day = ;
long hour = ;
long min = ;
long sec = ;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / ( * * * );
hour = (diff / ( * * ) - day * );
min = ((diff / ( * )) - day * * - hour * );
sec = (diff/-day***-hour**-min*);
} 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 starttime, String endtime) {
DateFormat df = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
Date one;
Date two;
long day = ;
long hour = ;
long min = ;
long sec = ;
try {
one = df.parse(starttime);
two = df.parse(endtime);
long time1 = one.getTime();
long time2 = two.getTime();
long diff ;
if(time1<time2) {
diff = time2 - time1;
} else {
diff = time1 - time2;
}
day = diff / ( * * * );
hour = (diff / ( * * ) - day * );
min = ((diff / ( * )) - day * * - hour * );
sec = (diff/-day***-hour**-min*);
} catch (ParseException e) {
e.printStackTrace();
}
return day + "天" + hour + "小时" + min + "分" + sec + "秒";
}
}
java语言编程实现两个时间相差多少天、多少小时、多少分、多少秒的更多相关文章
- JAVA 时间差距,两个时间相差多少天,时,分,秒
JAVA 时间差距,两个时间相差多少天,时,分,秒 package io; import java.text.DateFormat; import java.text.ParseException; ...
- JAVA中计算两个时间相差多少 天,时,分,秒
1: import java.util.Date; 2: 3: public class ShowTimeInterval{ 4: public void ShowTimeInterval(Date ...
- java计算两个时间相差(天、小时、分钟、秒)
public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格 ...
- sql server 计算两个时间 相差的 几天几时几分几秒
CAST ( CAST ( DATEDIFF ( ss, StartTime, ConcludeTime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天 ...
- 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
下面程序使用了两种方法计算两个时间相差 天,小时,分钟,秒 package jodotest; import java.text.ParseException; import java.text.Si ...
- Java_Date_01_判断两个时间相差的天数
二.参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解
- js计算两个时间相差天数
//两个时间相差天数 兼容firefox chrome function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12 ...
- php 将秒数转换为时间(年、天、小时、分、秒)
$t=1637544; $d=Sec2Time($t); $d为 0年18天 22小时52分24秒 //将秒数转换为时间(年.天.小时.分.秒) function Sec2Time($time){ ...
- java 判断两个时间相差的天数
1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 ...
随机推荐
- 用C#截取指定长度的中英文混合字符串
很早以前写过一篇文章(用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则 ...
- [转]CMD命令提示符窗口中的快捷键、小技巧和常用命令
转至:https://wenku.baidu.com/view/d5d2b7ca360cba1aa811dac6.html 快捷键: F1:按F1一次,命令提示符向后切换到已经执行过的命令字符.如果 ...
- Java50道经典习题-程序38 求字符串长度
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. import java.util.Scanner; public class Prog38 { public stat ...
- hadoop学习记录--hdfs文件上传过程源码解析
本节并不大算为大家讲接什么是hadoop,或者hadoop的基础知识因为这些知识在网上有很多详细的介绍,在这里想说的是关于hdfs的相关内容.或许大家都知道hdfs是hadoop底层存储模块,专门用于 ...
- docker常用命令行集锦
对工作中用到的docker命令行进行一个汇总,方便以后的命令行查询,同时也为了加强记忆,会把工作中用到的命令,持续更新上 1.查看私有仓库都有哪些镜像 curl -X GET http://10.27 ...
- 正经学C#_判断[switch语句]:[c#入门经典]
switch是一个和IF语句极其相似的语句.但是Switch允许条件可以有多个值. 程序的基本结构如下 switch(textVal) { case Val: 程序代码 break case Val2 ...
- Git解决pull无法操作成功
https://blog.csdn.net/chenjunfengf/article/details/78301957 场景 在git pull的时候,如果本地代码有改动,而服务器上代码也已经被其他人 ...
- 【OD深入学习】Java多线程面试题
一.参考文章 1. Java线程面试题 Top 50 2. Java面试——多线程面试题 3. JAVA多线程和并发基础面试问答 4. 15个顶级Java多线程面试题及回答 二.逐个解答 三.一语中的 ...
- CI框架源码学习笔记1——index.php
做php开发一年多了,陆陆续续用过tp/ci/yii框架,一直停留在只会使用的层面上,关于框架内部的结构实际上是不甚了解的.为了深入的学习,决定把CI框架的源码从头到尾的学习一下, 主要因为CI框架工 ...
- loj #6261 一个人的高三楼 FFT + 组合数递推
\(\color{#0066ff}{ 题目描述 }\) 一天的学习快要结束了,高三楼在晚自习的时候恢复了宁静. 不过,\(HSD\) 桑还有一些作业没有完成,他需要在这个晚自习写完.比如这道数学题: ...