//拿去参考吧,只能算出相差几天几小时几分钟几秒,差几个月就不好算了
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
// 一天的毫秒数 60*60*1000*24
private final static long DAY_MILLIS = 86400000;
// 一小时的毫秒数 60*60*1000
private final static long HOUR_MILLIS = 3600000;
// 一分钟的毫秒数 60*1000
private final static long MINUTE_MILLIS = 60000;
//日期格式化串
private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) throws Exception{
// 开始时间
Date startdate = DATE_FORMAT.parse("2010-01-01 08:01:00");
// 结束时间
Date enddate = DATE_FORMAT.parse("2010-01-03 00:00:00");
showTimedif(startdate, enddate);
}
public static void showTimedif(Date start, Date end) {
show(start.getTime(),end.getTime());
}
/**
* 计算两个日期相差的天、小时、分钟
*
* @param start
* @param end
*/
public static void show(long start, long end) {
long temp = end - start;
System.out.print(DATE_FORMAT.format(new Date(start)) + " 与 " + DATE_FORMAT.format(new Date(end)));
System.out.println("相差" + temp / DAY_MILLIS + "天" +
(temp % DAY_MILLIS)/ HOUR_MILLIS + "小时" +
((temp % DAY_MILLIS) % HOUR_MILLIS)/ MINUTE_MILLIS + "分"+
((temp % DAY_MILLIS) % HOUR_MILLIS)% MINUTE_MILLIS/1000+"秒");
}
}
取消
评论