java - 检查未来时间(纪元毫秒)是否在当前时间(纪元毫秒)的 3 小时内
问题描述
我试图比较两次以查看未来时间是否在当前时间的下一个 3 小时内。
下面是我尝试过的一些代码,我尝试将未来时间减去 10,800,000,如果当前时间大于或等于差值,它应该返回 true。我不知道 10,800,000 是否正确,因为有时它现在应该返回真/假。
public static Boolean checkIfWithin3Hours(long startTime, long currentTime){
if(currentTime >= startTime - (10800000)) {
return true;
}
return false;
}
如果以毫秒为单位的纪元时间在以毫秒为单位的未来时间的 3 小时内,我希望它返回 true。
解决方案
1000 milliseconds/second
60 seconds/minute
60 minutes/hour
3 hours
将它们相乘,得到 10,800,000 毫秒。第一步,你的号码是正确的。
下一步,计算数字是否在范围内:
如果 timeTesting 在 3 小时后的范围内,则 timeNow <= timeTesting <= timeNow + 10,800,000 ms。
第二步,您的范围测试不正确。
用以下方法修复它:
public static Boolean checkIfWithin3Hours(long startTime, long currentTime){
return startTime <= currentTime && currentTime <= startTime + 10800000;
}
推荐阅读
- xpath - XPath 语法进行排除某些特定元素的查询
- python - 如何将球从桨中反射出来
- ios - SwiftUI 组中的第一个对象重叠
- node.js - 如何使用 Koa.js 制作 API?如果用户没有登录,只能使用10次。如果用户登录成功,就可以无限次使用
- delphi-10.3-rio - 对手动创建的组件使用事件处理程序
- javascript - JS:返回一个数字的指定 10 次幂
- javascript - 我想我已经调用了那个函数,但是函数名旁边没有括号
- c++ - 这种错误的原因是什么:将“功能”重新定义为不同类型的符号
- python - 旋转包含字符串的 Pandas 数据框 - 仅在第一次添加列,否则在任何列中添加值
- java - Spring Boot JPA - ManyToOne 关系导致额外的 sql