Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java获取两个日期之间的秒数_Java_Time_Calendar - Fatal编程技术网

Java获取两个日期之间的秒数

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

我试着每10秒发送一次数据, 所以我试着用我写的代码 但是我想我在转换成秒的过程中犯了一个错误

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我的意思是让您调整提交的任务,您可以轻松添加所需的检查。