Android以分钟为单位获取日期差异

时间:2015-11-10 12:54:09

标签: android date

我试图获得两个日期的差异,并在几分钟内得到结果。我有两个日期,以毫秒为单位

 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

3 个答案:

答案 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类。

希望这有帮助。