Я сейчас пытаюсь перейти с JodaTime на Java Java.
Большинство в порядке, но одна вещь ускользает от меня.Мне нужно посчитать, сколько человек работает в смену, приходящуюся на «рабочее время».
С JodaTime я использовал класс Instant для выполнения расчета с ревущим успехом:
DateTime in = new DateTime(inTime);
DateTime out = new DateTime(outTime);
Interval officeHours = new Interval(in.withTime(whstart.getHours(),
whstart.getMinutes(), 0, 0),
in.withTime(whend.getHours(), whend.getMinutes(), 0, 0));
Interval shift = new Interval(in, out);
Interval overlap = officeHours.overlap(shift);
officeHoursSeconds = overlap != null ?
overlap.toDuration().getStandardSeconds() : 0;
Однако, поскольку класс Interval, по-видимому, отсутствует в java8, я немного растерялся из-за того, как лучше перенести эту логику в API java8.
Конечно, я мог бы продолжать использовать Jodatime, но, поскольку он написан на EOL, я хотел бы попытаться полностью его удалить.
Указатели очень ценятся.