0

我需要在我的软件中显示特定事件发生的天数、小时数和分钟数。

我得到一个字符串,其中包含最后一个事件的值并计算事件发生的时间量。

..

上一个事件:字符串=上一个事件Ocorr();“16.07.2013 19:20:06”

..

例子:

最后发生的事件:3 天 6 小时 45 分 42 秒

或者

最后发生的事件:5 分 30 秒

..

有一种实用的方法来做这个计算吗?

我真的很感谢所有的帮助。

非常感谢

4

3 回答 3

1

我强烈建议System.currentTimeMillis()在活动开始和活动结束时简单地做。

long start = System.currentTimeMillis();
//EVENT
long stop = System.currentTimeMillis();

long difference = stop - start;

然后通过一些数学运算,您可以得到更好的格式。

int seconds=(difference/1000)%60;
int minutes=(difference/(1000*60))%60;
int hours=(difference/(1000*60*60))%24;
于 2013-07-16T16:41:30.337 回答
1

以下是有关如何将您解析StringDate实例的几种方法。

之后,您需要计算解析Date日期和当前日期之间的差异 ( new Date())。

最后,您可以根据自己的喜好格式化生成的差异。

于 2013-07-16T16:38:02.050 回答
0

这是有关如何计算天数的示例,您可以为此添加小时和分钟。

            long MILLIS_IN_DAY = 1000 * 60 * 60 * 24;

        String lastEvent =  "13.07.2013 10:20:06";
        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
        Date lastEventDate = sdf.parse(lastEvent);
        Date currentDate = new Date();

        long timeElapsed = currentDate.getTime() - lastEventDate.getTime();
        long diffInDays = timeElapsed / MILLIS_IN_DAY; 

        System.out.println(diffInDays);
于 2013-07-16T16:45:38.943 回答