【问题标题】:How to compare Timestamp to current time less a certain amount of minutes in android如何在android中将时间戳与当前时间减去一定的分钟数进行比较
【发布时间】:2011-10-11 00:34:45
【问题描述】:

我有一个 sql.Timestamp 对象,我需要将它与当前时间减去 45 分钟进行比较,我将如何在 Android 上执行此操作?

我知道我应该使用 compareTo 方法,因为 Timestamp 扩展了 java.util.Date ,我不知道如何创建比当前时间少 45 分钟的日期对象。

【问题讨论】:

    标签: java android date timestamp


    【解决方案1】:

    这可能有点矫枉过正,但您可以创建两个日历实例,一个带有您的时间戳,一个带有当前时间,然后从后者中减去 45 分钟并进行比较。

    Calendar then = Calendar.getInstance();
    then.setTime(timestamp);
    Calendar now = Calendar.getInstance();
    now.add(Calendar.MINUTE, -45);
    int diff = now.compareTo(then);
    // ...
    

    【讨论】:

      【解决方案2】:

      时间戳(和日期)对象可以通过将 long 类型的值作为构造函数传递来构造,该值表示自 1970 年 1 月 1 日以来的毫秒数。

      一毫秒是一秒的 1/1000,所以 45 分钟就是 45 * 60 * 1000 毫秒。只需创建两个 Timestamp 实例 - 一个使用表示您要比较的时间的 long 值(如果您还没有 Timestamp 实例),另一个使用表示 45 分钟前时间的 long 值(System.currentTimeMillis() - (45 * 60 * 1000)),然后比较它们。

      【讨论】:

      • 您还可以使用 TimeUnit 类将分钟转换为毫秒。 TimeUnit.MINUTES.toMillis(45)
      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多