您的位置:首页 > 编程语言 > Java开发

两个指定时间之间相差时间

2012-11-20 14:55 351 查看
package com.wzs;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 获取指定范围内的不重复随机数
*
* @author wWX154783
*
*/
public class Test {
public static void main(String[] args) {
String str = getBetweenDate("2012-11-21 11:11:11", "2012-12-1 1:9:56");
System.out.println(str);
}

/**
* 返回指定时间时间间隔
*
* @param str1
*            格式:年-月-日 时:分:秒
* @param str2
*            格式:年-月-日 时:分:秒
* @return x天x小时x分x秒&时间间隔
*/
public static String getBetweenDate(String str1, String str2) {
String str = null;
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = simpleDateFormat.parse(str1);
Date date2 = simpleDateFormat.parse(str2);
long betweenDate = date2.getTime() - date1.getTime();
// System.out.println("时间间隔:" + betweenDate + "(毫秒)");

long day = betweenDate / (24 * 60 * 60 * 1000);
long hour = (betweenDate / (60 * 60 * 1000) - day * 24);
long min = ((betweenDate / (60 * 1000)) - day * 24 * 60 - hour * 60);
long s = (betweenDate / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
str = day + "天" + hour + "小时" + min + "分" + s + "秒&" + betweenDate;
} catch (ParseException e) {
e.printStackTrace();
}
return str;
}
}

输出结果:

9天13小时58分45秒&827925000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息