不多说,直接上干货!

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语言编程实现两个时间相差多少天、多少小时、多少分、多少秒的更多相关文章

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

    JAVA 时间差距,两个时间相差多少天,时,分,秒 package io; import java.text.DateFormat; import java.text.ParseException; ...

  2. JAVA中计算两个时间相差多少 天,时,分,秒

    1: import java.util.Date; 2: 3: public class ShowTimeInterval{ 4: public void ShowTimeInterval(Date ...

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

    public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格 ...

  4. sql server 计算两个时间 相差的 几天几时几分几秒

    CAST ( CAST ( DATEDIFF ( ss, StartTime, ConcludeTime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天 ...

  5. 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒

    下面程序使用了两种方法计算两个时间相差 天,小时,分钟,秒 package jodotest; import java.text.ParseException; import java.text.Si ...

  6. Java_Date_01_判断两个时间相差的天数

    二.参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解

  7. js计算两个时间相差天数

     //两个时间相差天数 兼容firefox chrome    function datedifference(sDate1, sDate2) {    //sDate1和sDate2是2006-12 ...

  8. php 将秒数转换为时间(年、天、小时、分、秒)

    $t=1637544; $d=Sec2Time($t); $d为  0年18天 22小时52分24秒 //将秒数转换为时间(年.天.小时.分.秒) function Sec2Time($time){ ...

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

    1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的   ...

随机推荐

  1. SLAM(Linux版)

    之前的那个是Windows版,现在终于发现Windows运行slam是不行的,多么痛的领悟. 本书系统地介绍了视觉SLAM所需的基本知识与核心算法,既包括数学理论基础,如三维空间的刚体运动.非线性优化 ...

  2. ASP.NET MVC Razor语法及实例

    1.混合HTML与Razor脚本 知识点:(1).cshtml怎样引用访问数据, (2).if  for 与html嵌套 @using System.Data @using CIIC.TCP.Enti ...

  3. 动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)

    前几天,Insus.NET有写了<动态绑数据(GridView控件Header和ItemTemplate)>http://www.cnblogs.com/insus/p/3303192.h ...

  4. 转载-ActiveMQ通过JAAS实现的安全机制

    JAAS(Java Authentication and Authorization Service)也就是java认证/授权服务.这是两种不同的服务,下面对其做一些区别:验证(Authenticat ...

  5. Linux 新建用户、用户组,给用户分配权限

    注:内容来自网络 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对 ...

  6. 算法训练 最大的算式(DP)

    问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...

  7. kuangbin专题七 HDU3974 Assign the task (dfs时间戳建树)

    There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...

  8. Python的主要应用领域及应用场景

    参考链接:https://www.cnblogs.com/kaid/p/9016673.html 正文: Python简介 Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/), ...

  9. 转——.ashx文件与.ashx.cs

    作者:PBDragon 原文连接:http://www.cnblogs.com/PBDragon/p/3811831.html 如果项目是“新建网站”,添加的ashx是没有ashx.cs的:如果是新建 ...

  10. day_05 字典

    1. 字典 1.成对保存数据 ,以key:value形式保存 2.以{}表示,每项内容都是key:value,元素之间用逗号隔开 3.key是不可重复的 4.字典以hash算法来计算key的hash值 ...