Java时间戳。检查是否接近时间,是时间还是结束

时间:2014-08-07 19:18:21

标签: java

我想知道是否可以检查时间。然后找到最近的10分钟。如果它超过最近的10分钟(假设我检查:12)我想知道如何使用它。或者它是在下一个之前的5分钟内(让我们说:25左右:30是最接近的10分钟)是否也可以知道这一点?

提前谢谢。我真的不知道如何做到这一点。

2 个答案:

答案 0 :(得分:1)

。没错。

Calendar.getInstance().get(Calendar.MINUTE)

在一小时内返回当前分钟数。

要查找最近的10分钟,假设minutes包含当前分钟数,请执行以下操作:

int nearest = ((minutes+5) / 10)*10 % 60;

它使用整数除以10到"向下舍入"最接近10,但是先加5,使25变为30,然后除以10变为3,再乘以3变为30。

最后模数为60,否则56分钟将四舍五入到60,这是你不能拥有的。

最后一个公式的整个数学部分与通常用于舍入十进制数的相同(加0.5,然后将其截断为整数 - 如果开始时为0.5或更多,则添加0.5给出1或更多确保在适当的时候完成。)

答案 1 :(得分:0)

您可以使用TimeStamp对象并将当前时间戳与您可以在10分钟之后或之前设置的时间戳进行比较。时间戳提供了大量方法来与稍后的其他时间戳进行比较。

我建议您查看Oracle Docs的方法。

请参阅:Here

java.util.Date date= new java.util.Date();
     System.out.println(new Timestamp(date.getTime()));

可用于获取当前时间戳。然后,您可以将其与TimeStamp.compareTo(Timestamp ts)进行比较,并检查它是否在10分钟内(当然是毫秒)。