импорт java.text.ParseException; импорт java.text.SimpleDateFormat; импорт java.util.ArrayList; импорт java.util.Calendar; импорт java.util.Date; импорт java.util.List; общественного класса Test { публичный статический List <String> findDates (String STIME, String etime) бросает ParseException { List <String> allDate = новый ArrayList (); SimpleDateFormat SDF = новый SimpleDateFormat ( "гггг-ММ-дд"); Дата dBegin = sdf.parse (STIME); Дата dEnd = sdf.parse (etime); allDate.add (sdf.format (dBegin)); Календарь calBegin = Calendar.getInstance (); //使用给定的Дата设置此Календарь的时间 calBegin.setTime (dBegin); Календарь Календарь семинаров Calendar.getInstance = (); // установить данное время этот календарь Дата calEnd.setTime (DEND); // тест , если эта дата после указанной даты в то время как (dEnd.after (calBegin.getTime ())) { // через календарь правил, добавляя или вычитая определенное количество времени для данного календарного поля calBegin.add (Calendar.DAY_OF_MONTH ,. 1); allDate.add (sdf.format (calBegin .getTime ())); } возвращать allDate; } государственной статической силы основных (String [] арг) { // тестовых данных Строка STIME = "2019-05-01"; Строка etime = "2019-05-05"; / / сборник содержит 2019-05-01 / 2019-05-05, должно быть не удален List <String> = новый новый Перечислите ArrayList <> (); попробовать { = Новый новый SDF SimpleDateFormat SimpleDateFormat ( "ММ-ДД-ГГГГ"); Длинный Long.valueOf S = (sdf.parse (STIME) .getTime ()); Длинный Е = Long.valueOf (sdf.parse (etime) .getTime ( )); // только тогда , когда конечное время больше , чем время запуска запроса ПЧ (S <Е) { List = findDates (STIME, etime); } } улов (а ParseException Е) { e.printStackTrace (); } для (строка времени : Список) { System.out.println (время); } System.out.println "количество дней:" (+ list.size ()); } }
Оригинал: https: //blog.csdn.net/qq_38955717/article/details/90448848