Java利用LocalTime的withMinute按半小时向上/下取整

向下取整
08:00——》08:00
08:01——》08:00
08:29——》08:00
08:30——》08:30
08:31——》08:30
08:59——》08:30
然后我们可以利用向下取整后的值再+30分钟拿到时间段。
08:00——》08:30
08:01——》08:30
08:29——》08:30
08:30——》09:00
08:31——》09:00
08:59——》09:00
DateTimeFormatter是线程安全的,可以放到全局变量。

		DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");

        LocalTime currentTime = LocalTime.parse("08:59", dateTimeFormatter);
        //按30分钟向下取整,返回:08:30
        LocalTime foodTime = currentTime.withMinute(currentTime.getMinute() / 30 * 30);
        //返回时间+30分钟的时间,返回:09:00
        LocalTime ceilTime = foodTime.plusMinutes(30L);
        //返回08:30-09:00
        System.out.println(foodTime + "-" + ceilTime);

你可能感兴趣的:(Java,java,开发语言)