我试图获得两个日期的差异,并在几分钟内得到结果。我有两个日期,以毫秒为单位
long start = 1447143052593L;
long end = 1447146592540L;
上面的输出是
I/System.out﹕ 03:10:52
I/System.out﹕ 04:09:52
我期待的是0:59
我试图通过以下方式获得差异,但它不起作用。
long mills = end - start;
long Hours = mills/(1000 * 60 * 60);
long Mins = mills % (1000*60*60);
String diff= Hours + ":" + Mins;
当我打印String diff
时,我得到如下结果
I/System.out﹕ 0:3539947
答案 0 :(得分:1)
尝试这种方法:
long Hours = mills / (1000 * 60 * 60);
long Mins = (mills - Hours * (1000 * 60 * 60)) / (1000 * 60);
答案 1 :(得分:1)
你的方法正确,但你的Mins
现在有几小时后剩余的毫秒数,而不是剩余的分钟数。
这应该有效:
long Mins = (mills % (1000*60*60)) / (1000*60); //make it minutes
答案 2 :(得分:0)
通常你只需要制作一个Date对象
Date startDate = new Date(start);
Date endDate = new Date(end);
int startminutes = startDate.getMinutes();
int endminutes = endDate.getMinutes();
我说通常是因为它看起来已经被废弃了一段时间(我希望它应该仍在使用)。
现在看起来他们希望我们为此使用Calendar类。
希望这有帮助。