public class Test {
public void dateDiff(String startTime, String endTime, String format) {
//按照传入的格式生成一个simpledateformate对象
SimpleDateFormat sd = new SimpleDateFormat(format)
long nd = 1000*24*60*60//一天的毫秒数
long nh = 1000*60*60//一小时的毫秒数
long nm = 1000*60//一分钟的毫秒数
long ns = 1000//一秒钟的毫秒数long difftry {
//获得两个时间的毫秒时间差异
diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime()
long day = diff/nd//计算差多少天
long hour = diff%nd/nh//计算差多少小时
long min = diff%nd%nh/nm//计算差多少分钟
long sec = diff%nd%nh%nm/ns//计算差多少秒//输出结果
System.out.println("时间相差:"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒。")
比较简单的方法就是使用.getTime()获取当前日期的相对毫秒数,再计算差值,最后转换成你需要的数据
PS.
RESULT:
1天0小时0分0秒
相隔的小时数:分:秒 - 24:0:0
跨日的import java.util.Date
public class Test {
public static void main(String[] args) {
String time1 = "23:50"
String time2 = "00:20"
Date date1 = new Date()
Date date2 = new Date()
date1.setDate(1)//假定日期为1号
date1.setHours(23)//第一个小时
date1.setMinutes(50)//第一个分
date2.setDate(date1.getDate()+1)//第二天为2号
date2.setHours(0)//第二个小时
date2.setMinutes(20)//第二个分
long dt1MillSeconds = date1.getTime()
long dt2MillSeconds = date2.getTime()
int julianSeconds = (int) (dt2MillSeconds - dt1MillSeconds)/60/1000//相差分数
System.out.println(julianSeconds)
}
}
-------------
30