首页 > 解决方案 > Java获取2个日期之间的秒数

问题描述

我正在尝试每 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)); 
}

标签: javatimecalendar

解决方案


如果您“尝试每 10 秒发送一次数据”,您可以这样做

ScheduledExecutorService service = Executors.newScheduledThreadPool();

service.scheduleAtFixedRate(() -> sendUdp("OK"), 10, 10, TimeUnit.SECONDS);

推荐阅读