如何计算我的应用程序中特定事件的已用时间?

时间:2013-07-16 16:30:35

标签: java actionscript-3 flex datetime flash-builder

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

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

...

lastEvent:String = lastEventOcorr(); “16.07.2013 19:20:06”

...

示例:

上次活动发生:3天6小时45分42秒

上次发生的事件:5分30秒

...

有一种实用的方法可以进行此计算吗?

我非常感谢所有的帮助。

非常感谢

3 个答案:

答案 0 :(得分:1)

Here是有关如何将String解析为Date个实例的几种方法。

之后,您需要在已解析的Date和当前日期(new Date())之间calculate the difference

最后,您可以根据自己的喜好format得出差异。

答案 1 :(得分: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;

答案 2 :(得分: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);