【问题标题】:Calculate Duration计算持续时间
【发布时间】:2011-07-30 13:43:33
【问题描述】:

我有一个小的 android 问题,我需要一个计时器来计算从特定活动打开到单击该活动中的某个按钮的持续时间,即活动打开的时间。在谷歌搜索时我发现了 TimerTask 但这似乎只在一定的时间间隔内运行一个线程,并且从我的 Android 小经验来看似乎并不适合这项工作

关于如何计算持续时间的任何想法?最好以非常简单的方式进行

非常欢迎任何帮助

问候, 米琳达

【问题讨论】:

    标签: java android time duration


    【解决方案1】:

    组:'org.apache.commons',名称:'commons-lang3'

     StopWatch stopWatch = new StopWatch();
     stopWatch.start();
           ...
     stopWatch.stop();
     stopWatch.getTime(TimeUnit.SECONDS);
    

    【讨论】:

      【解决方案2】:

      从 Java 8 开始,有更方便的方法来执行此操作。

      Instant start = Instant.now();
      ...
      Duration.between(start, Instant.now())
      

      这种方法的好处是 Duration 类提供了更灵活的 API。

      https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html

      【讨论】:

        【解决方案3】:

        如果您想了解活动的开放时间。

        您可以在中编写相应的代码

        • onCreate() 方法和 onDestory() 方法。 或

        • onResume() 方法 onPause() 方法。

        取决于你的需要。

        并使用以下代码

        long t1 =  new Date().getTime();
        long  t2 = new Date().getTime();
        long t3 =  t2 - t1;
        

        【讨论】:

          【解决方案4】:

          只需使用System.currentTimeMillis() 捕获活动开始和停止的时间。例如:

          long startTime = System.currentTimeMillis();
          // wait for activity here
          long endTime = System.currentTimeMillis();
          long seconds = (endTime - startTime) / 1000;
          

          【讨论】:

          • 这给了我几秒钟的时间,有什么办法可以得到minuteshoursdays?我不是指除以 60 的方法。寻找更好的解决方案。有货吗?
          • @PrakharMohanSrivastava - 看看developer.android.com/reference/android/text/format/…。它为日期范围/持续时间提供了一些很好的格式
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-08-06
          • 2016-01-18
          • 2013-03-07
          • 2016-12-31
          • 1970-01-01
          • 2021-12-29
          • 1970-01-01
          相关资源
          最近更新 更多