我想知道是否可以检查时间。然后找到最近的10分钟。如果它超过最近的10分钟(假设我检查:12)我想知道如何使用它。或者它是在下一个之前的5分钟内(让我们说:25左右:30是最接近的10分钟)是否也可以知道这一点?
提前谢谢。我真的不知道如何做到这一点。答案 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分钟内(当然是毫秒)。