求一个时间分段对的工具类

需求 java代码 比如10 点 到18点 五次分段 均匀分出五个时间段

import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;

public class HelloWorld {
    public static void main(String []args) throws ParseException{
        SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
        Date fromDate3 = simpleFormat.parse("2019-03-21 10:00");  
        Date toDate3 = simpleFormat.parse("2019-03-21 18:00");  
        long from3 = fromDate3.getTime();  
        long to3 = toDate3.getTime();
        int n = 5;
        int span = (int)(to3 - from3) / n;
        for (int i = 0; i <= n; i++)
        {
            Date afterDate = new Date(from3 + span * i);
            System.out.println(afterDate.toString());
        }
    }
}

Thu Mar 21 10:00:00 UTC 2019
Thu Mar 21 11:36:00 UTC 2019
Thu Mar 21 13:12:00 UTC 2019
Thu Mar 21 14:48:00 UTC 2019
Thu Mar 21 16:24:00 UTC 2019
Thu Mar 21 18:00:00 UTC 2019

楼上给了日期类的分类方法,如果是纯字符串逻辑分类的话可以按照如下写法:

public class time {
    public static void main(String[] args) {
        List list = timeSeperator("05:20", "09:40", 4);
        System.out.println(list);
    }
    //传参格式固定 HH:mm
    private static List timeSeperator(String oldTime, String newTime, Integer section){
        List<String> times=new ArrayList<>();
        Integer oldHour=Integer.parseInt(oldTime.split(":")[0]);
        Integer oldMinute=Integer.parseInt(oldTime.split(":")[1]);
        Integer newHour=Integer.parseInt(newTime.split(":")[0]);
        Integer newMinute=Integer.parseInt(newTime.split(":")[1]);
        Integer Internal=(60*(newHour-oldHour)+(newMinute-oldMinute))/section;
        times.add(oldTime);
        for (Integer i = 1; i < section; i++) {
           Integer temp=Internal*i;
           Integer hour=temp/60+oldHour;
           Integer minute=temp%60+oldMinute;
           if (minute>=60){
               minute-=60;
               hour+=1;
           }
           String time=(hour>=10?hour:"0"+hour)+":"+(minute>=10?minute:"0"+minute);
           times.add(time);
        }
        times.add(newTime);
        return times;
    }
}