天天看点

java相差几天_java语言编程实现两个时间相差多少天、多少小时、多少分、多少秒...

package zhouls.bigdata.DataFeatureSelection.test;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public classDateDistance {private staticString distanceTime;public static voidmain(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 = 0; i < DistanceTimes.length; i++) {

System.out.println(DistanceTimes[i]);

}

String DistanceTime= getDistanceTime(starttimes,endtimes);//两个时间相差距离多少天多少小时多少分多少秒 ,以String形式返回

System.out.println(DistanceTime);

}

public static longgetDistanceDays(String starttime, String endtime) throws Exception{

DateFormat df= new SimpleDateFormat("yyyy-MM-dd");

Date one;

Date two;long days=0;try{

one=df.parse(starttime);

two=df.parse(endtime);long time1 =one.getTime();long time2 =two.getTime();longdiff ;if(time1

diff= time2 -time1;

}else{

diff= time1 -time2;

}

days= diff / (1000 * 60 * 60 * 24);

}catch(ParseException e) {

e.printStackTrace();

}return days;//返回相差多少天

}

public static long[] getDistanceTimes(String starttime, String endtime) {

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(starttime);

two=df.parse(endtime);long time1 =one.getTime();long time2 =two.getTime();longdiff ;if(time1

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};returntimes;

}

public staticString getDistanceTime(String starttime, String endtime) {

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(starttime);

two=df.parse(endtime);long time1 =one.getTime();long time2 =two.getTime();longdiff ;if(time1

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 + "秒";

}

}