【发布时间】:2011-10-11 00:34:45
【问题描述】:
我有一个 sql.Timestamp 对象,我需要将它与当前时间减去 45 分钟进行比较,我将如何在 Android 上执行此操作?
我知道我应该使用 compareTo 方法,因为 Timestamp 扩展了 java.util.Date ,我不知道如何创建比当前时间少 45 分钟的日期对象。
【问题讨论】:
标签: java android date timestamp
我有一个 sql.Timestamp 对象,我需要将它与当前时间减去 45 分钟进行比较,我将如何在 Android 上执行此操作?
我知道我应该使用 compareTo 方法,因为 Timestamp 扩展了 java.util.Date ,我不知道如何创建比当前时间少 45 分钟的日期对象。
【问题讨论】:
标签: java android date timestamp
这可能有点矫枉过正,但您可以创建两个日历实例,一个带有您的时间戳,一个带有当前时间,然后从后者中减去 45 分钟并进行比较。
Calendar then = Calendar.getInstance();
then.setTime(timestamp);
Calendar now = Calendar.getInstance();
now.add(Calendar.MINUTE, -45);
int diff = now.compareTo(then);
// ...
【讨论】:
时间戳(和日期)对象可以通过将 long 类型的值作为构造函数传递来构造,该值表示自 1970 年 1 月 1 日以来的毫秒数。
一毫秒是一秒的 1/1000,所以 45 分钟就是 45 * 60 * 1000 毫秒。只需创建两个 Timestamp 实例 - 一个使用表示您要比较的时间的 long 值(如果您还没有 Timestamp 实例),另一个使用表示 45 分钟前时间的 long 值(System.currentTimeMillis() - (45 * 60 * 1000)),然后比较它们。
【讨论】: