比较小时和分钟

时间:2011-05-10 10:16:55

标签: java android datetime

我正在基于java中的日期和时间开发应用程序。在这个应用程序中,我的用户每小时只能录制一次视频。所以对于这个我存储前一次使用我的应用程序。

因此,当用户下次启动我的应用程序时,我正在比较时间,如果时间间隔超过一小时,我必须允许我的用户记录,否则我不应该允许。如何在java中有效地比较小时和分钟?

4 个答案:

答案 0 :(得分:7)

使用

获取系统时间
long time = System.currentTimeMillis();

并将新时间与旧时间进行比较。一小时意味着相差1000 * 60 * 60毫秒

答案 1 :(得分:7)

@Dalino回答,您可以使用TimeUnit枚举类进行时间转换。

long now = System.currentTimeMillis();
long lastVisit =  ...; // in milliseconds
if(TimeUnit.MILLISECONDS.toHours(now - lastVisit) > 0) {
    // allow
} 

答案 2 :(得分:2)

为什么不存储它们退出时的时间(或其他)然后在启动时,读取时间,添加一小时,然后与当前时间进行比较?

您无需比较实际的小时数和分钟数 - 只需比较当时和现在之间的持续时间。

就我个人而言,我建议将Joda Time用于所有Java日期/时间工作,但在这种情况下,您可以使用Date,并添加一小时的毫秒数。请注意,您绝对应该存储UTC日期/时间而不是本地日期/时间,否则夏令时更改会使事情变得混乱。

答案 3 :(得分:1)

我会使用Joda Period:看看here

相关问题