Java获取两个日期之间的秒数
我试着每10秒发送一次数据, 所以我试着用我写的代码 但是我想我在转换成秒的过程中犯了一个错误Java获取两个日期之间的秒数,java,time,calendar,Java,Time,Calendar,我试着每10秒发送一次数据, 所以我试着用我写的代码 但是我想我在转换成秒的过程中犯了一个错误 Calendar Time= Calendar.getInstance(); Calendar SendDate= Calendar.getInstance(); long upload = TimeBetweenDates(SendTime,Time); if (upload > 10000) { String udp = "OK"; SendUDP(udp); S
Calendar Time= Calendar.getInstance();
Calendar SendDate= Calendar.getInstance();
long upload = TimeBetweenDates(SendTime,Time);
if (upload > 10000) {
String udp = "OK";
SendUDP(udp);
SendTime = Calendar.getInstance();
}
public static long TimeBetweenDates (Calendar Start , Calendar End) {
long end = End.getTimeInMillis();
long start = Start.getTimeInMillis();
return TimeUnit.MILLISECONDS.toSeconds(Math.abs(end - start));
}
如果你想每10秒发送一次数据,你可以这样做
ScheduledExecutorService service = Executors.newScheduledThreadPool();
service.scheduleAtFixedRate(() -> sendUdp("OK"), 10, 10, TimeUnit.SECONDS);
你在写什么日期?你的电话号码是多少?您期望的数字是多少?为什么不使用ScheduledExecutor进行发送,这样就不必计算差异了?您的TimeBetweenDates方法似乎应该是正确的,只是在Java方法中,变量名以小写字母开头。我发现有参数Start和End以及变量Start和End让人困惑。你观察到的行为与期望的行为有什么不同?这对我的信号不好,我需要对发送做出判断。如果时间超过10或数据不相同,请发送。@Korenron我的意思是让您调整提交的任务,您可以轻松添加所需的检查。