2 localTime之间有多少unitTime(10分钟半小时)?Java 8

Bra*_*man 4 java time datetime java-8

我想定义一个单位时间,例如12分钟或25分钟,以了解Java中2 LocalTime之间有多少单位时间。

例如,如果我定义了15分钟(如单位时间),则介于8:00和10:00之间,则应该获得8次。

Sam*_*ipp 6

您可以使用Duration类来获取两个LocalTime值之间的持续时间。然后,您可以自己计算自定义时间单位:

int minutesUnit = 15;
LocalTime startTime = LocalTime.of(8, 0);
LocalTime endTime = LocalTime.of(10, 0);
Duration duration = Duration.between(startTime, endTime);
long unitsCount = duration.toMinutes() / minutesUnit;
System.out.println(unitsCount);
Run Code Online (Sandbox Code Playgroud)

打印8

如果您使用不同的时间单位,则可以将持续时间细分为毫秒并计算结果:

long millisUnit = TimeUnit.MINUTES.toMillis(15);
// ...
long unitsCount = duration.toMillis() / millisUnit;
Run Code Online (Sandbox Code Playgroud)

  • 这也可以通过OP已经使用的`ChronoUnit.MINUTES.between`来实现 (2认同)