java中如何得到两个时间相差多少小时?

importjava.util.Calendar;importjava.text.*;publicclassTest{publicstaticvoidmain(Strin... import java.util.Calendar;
import java.text.*;

public class Test {
public static void main(String[] args) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.set(2015, 2, 23, 3, 4, 5);
c2.set(2015, 2, 24, 3, 4, 5); //相差24hours
System.out.println(c2.getTimeInMillis()-c1.getTimeInMillis()); // 相差的毫秒数
Calendar c = Calendar.getInstance();
c.setTimeInMillis(c2.getTimeInMillis()-c1.getTimeInMillis());
System.out.println(c.getTime()); // 它会折算成以1970-1-1 08:00:00为基准,加上时间间隔得到的 年月日...Fri Jan 02 08:00:00 CST 1970
}
}

## 可是,我的目的是得到24:00:00,求解。
sigh...貌似看到解决方案了。
http://zhidao.baidu.com/question/50023360.html?fr=push
展开
 我来答
匿名用户
2019-04-23
展开全部

比较简单的方法就是使用.getTime()获取当前日期的相对毫秒数,再计算差值,最后转换成你需要的数据;

PS.

RESULT: 

1天0小时0分0秒

相隔的小时数:分:秒 - 24:0:0

匿名用户
推荐于2017-10-12
展开全部
楼主,java.util.Date有方法getTime()得到是相对的毫秒时间。。。两个Date变量的getTime()相减,得到是毫秒的差,再除60*60*1000,就是小时的差了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yc_19880612
2015-03-06 · TA获得超过3512个赞
知道大有可为答主
回答量:5075
采纳率:85%
帮助的人:3965万
展开全部
在输出语句之前加上这段代码:c.roll(Calendar.HOUR, -8);就得到0点了,24点就是0点,但是程序是不能输出24点的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晟宁净n
2016-12-24 · TA获得超过5446个赞
知道小有建树答主
回答量:1931
采纳率:68%
帮助的人:561万
展开全部
请用getTime()获得秒数
Date a,b;
a = new Date();
b = new Date();
b.getTime() - a.getTime();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式