java后端处理,一天的9:00到19:00的时间段,按15分钟切割,返回一个List,如何操作?

新手上路,请多包涵

java后端处理,一天的9:00到19:00的时间段,按15分钟切割,返回一个List,如何操作?

阅读 3.5k
3 个回答
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;

public class TimeSlots {
    public static void main(String[] args) {
        // 设置开始时间和结束时间
        LocalTime start = LocalTime.of(9, 0);
        LocalTime end = LocalTime.of(19, 0);

        // 创建一个空的时间段列表
        List<LocalTime> timeSlots = new ArrayList<>();

        // 将时间段切割成15分钟一段,并将它们添加到列表中
        LocalTime current = start;
        while (current.isBefore(end)) {
            timeSlots.add(current);
            current = current.plusMinutes(15);
        }

        // 打印时间段列表
        for (LocalTime timeSlot : timeSlots) {
            System.out.println(timeSlot);
        }
    }
}

以上代码由 ChatGPT 编写

你这问题的话,
我理解时间段和15分钟是切割条件,list是切割结果的存放容器。。
那具体要切割什么???
数据??
结果具体需要啥样的。。
最关键的没说明白啊。。

师傅,9:00到19:00,按照15分钟,给我装一个袋子。。。
大致是这种感觉。。

    public static void main(String[] args){
        System.out.println(getTimeList(LocalDate.now()));
        System.out.println(getTimeList("2022-12-31"));

    }

    private static List<LocalDateTime> getTimeList(String dayStr) {
        return getTimeList(LocalDate.parse(dayStr));
    }
    private static List<LocalDateTime> getTimeList(LocalDate day) {
        List<LocalDateTime> result = new ArrayList<>();
        if (day != null) {
            LocalDateTime start = day.atTime(9, 0);
            LocalDateTime end = day.atTime(19, 0);
            while (!start.isAfter(end)) {
                result.add(start);
                start = start.plusMinutes(15);
            }
        }
        return result;
    }

是要这样的么,还可以继续重载方法,接受开始小时数和结束小时数,得到时间列表,时间间隔也可以外部传入,看具体需要

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题