package ben.util;
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 + "秒";
}
}
相关推荐
java中计算两个日期相差几天 1.public class Test { 2.public void dateDiff(String startTime, String endTime, String format) { 3.//按照传入的格式生成一个simpledateformate对象 4.SimpleDateFormat sd = ...
java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒
NULL 博文链接:https://mr-lili-1986-163-com.iteye.com/blog/2165773
网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点
Java 计算两个日期之间相差的月数 Java 计算两个日期之间相差的月数
Java 比较两个日期的代码,2段代码 1是计算两个日期相差多少天,2是比较两个日期先后
网上排除节假日、周六周日 获取相差时间 分为四种情况, 精确到天 此工具类在此基础之上进行优化, 分为俩种情况, 精确到分钟,保留俩位小数 (精确到秒 需自己加工下) 入口方法: getWorkHours
计算两个日期相差的天数,计算两个日期相差的天数,计算两个日期相差的天数
用于计算两个时间的差值,非常实用!
NULL 博文链接:https://fanshuyao.iteye.com/blog/1924331
java时间差代码,可以轻松判断两个时间段之间相差多少天
calendar 比较2个日期相差的天数 还可以比较相差的秒数天数
求两个日期之间相差的天数 利用日期类将用户输入的两个日期字符串转换成为日期格式,用相应日期类操作方法将两个日期之间相差天数计算出来。
7.两个时间相差距离多少天多少小时多少分多少秒 8.按默认格式的字符串距离今天的天数 9.比较两个时间的大小 HH:mm:ss 10.按用户格式字符串距离今天的天数 11.cron "0 06 10 15 1 ? 2014" 专门用于处理...
该工具类用于两个时间段之间节假日的计算(可获取两个时间段之间的节假日天数,小时,分钟,秒)
输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。
可以列出两个日期中间的所有天 20090501, 20090502, 20090503, 20090504, 20090505, 20090506, 20090507, 20090508, 20090509,
通过两次调用计算时间差的方法,简单巧妙的判断两个时间相差的自然天数
在java中我找了一下关于计算两个日期之间相差的天数方法有10多种实现方法,下面总结一下常用的几种计算两个日期之间相差的天数实例
主要介绍了Java判断两个日期相差天数的方法,以实例形式对比分析了java进行日期换算及对比的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下