首页 > 解决方案 > 如何使用 Java 进行计时

问题描述

我有start_timeand end_Time,所以我尝试打印那些interval_times(时间格式 24)。

我该怎么做?

int start = Integer.parseInt("10:24:49");
int end = Integer.parseInt("11:24:49");

for (int i = start; i < end; i++)
{
    System.out.println("result  i ="+ i);
}

标签: java

解决方案


自 Java 8 以来,java.time包一直是处理所有与日期/时间相关的事情的最佳方式。

这需要一些时间来适应,例如在时区方面,但绝对值得付出努力!

这是您的秒打印机的代码:

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public static void main(final String[] args) {

    // Just so you know it in the future. Not needed in this example.
    final DateTimeFormatter dtfDateTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.US);

    final DateTimeFormatter dtfTime = DateTimeFormatter.ofPattern("HH:mm:ss", Locale.US);

    final LocalTime ltStart = LocalTime.of(10, 24, 49);
    final LocalTime ltEnd = ltStart.plusHours(1);

    // If you want to use String parsing to get your instance:
    final LocalTime ltStartViaParsing = LocalTime.from(dtfTime.parse("10:24:49"));

    LocalTime i = ltStart;
    while (i.isBefore(ltEnd)) {

        System.out.println("result i = " + dtfTime.format(i));
        i = i.plusSeconds(1);
    }
}

输出:

result i = 10:24:49
result i = 10:24:50
result i = 10:24:51
...
result i = 11:24:46
result i = 11:24:47
result i = 11:24:48

推荐阅读