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



我想知道是否可以查一下时间。然后找最近的10分钟。如果它超过了最近的10分钟(假设我在12点检查),我想知道如何使用它。或者是在下一个事件发生前的5分钟内(比如25分钟左右,30分钟是最近的10分钟),是否也有可能知道这个?

提前感谢。我真的不知道该怎么做。

。是的。

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或更多,以确保在适当的时候进行四舍五入)。

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

我建议你看一下Oracle文档的方法。

看到:

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

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

最新更新