時間の間隔の開始日に基づいて計算したJavaは、時間を終了します

輸入java.text.ParseException。
輸入java.text.SimpleDateFormatの。
輸入はjava.util.ArrayList; 
インポートのjava.util.Calendar; 
輸入java.util.Date; 
輸入はjava.util.List; 
 
パブリッククラスTest { 
 
    パブリック静的リストの<string> findDates(文字列STIME、文字列ETIMEは)
            はParseException {スロー
        リストの<string> allDate =新しいArrayListを()。
        SimpleDateFormatの自衛隊=新しいてSimpleDateFormat( "YYYY-MM-DD"); 
 
        日dBegin = sdf.parse(STIME)。
        日付DEND = sdf.parse(ETIME)。
        allDate.add(sdf.format(dBegin))。
        カレンダーcalBegin = Calendar.getInstance(); 
        //使用给定的日设置此カレンダー的时间
        calBegin.setTime(dBegin)。
        Calend = Calendar.getInstanceカレンダー(); 
        //指定された時間、このカレンダーの日付を設定
        calEnd.setTime(DENDを); 
        //テストこの日付が、指定された日付より後にある場合は
        しばらく(dEnd.after(calBegin.getTime()) ){ 
            //カレンダールール、指定されたカレンダフィールドの時間の指定された量を加算または減算
            calBegin.add(Calendar.DAY_OF_MONTH ,. 1); 
            allDate.add(sdf.format(calBegin.getTime()))。
        } 
        allDateを返す; 
    } 
 
    パブリック静的無効メイン(文字列[] args){ 
        //テストデータ
        文字列STIME = "2019年5月1日"; 
        ; ETIME文字列= "2019年5月5日" 
        試み{
  
        / /コレクションは、2019年5月1日/ 2019年5月5日、削除する必要はありませんが含まれています
        一覧<文字列> =新しい新しいリストのArrayList <>(); 
            SimpleDateFormat SimpleDateFormatはSDF新しい新=( "MM-DD-YYYY"); 
            ロングLong.valueOf S =(sdf.parse(STIME).getTime()); 
            ロングE = Long.valueOf(sdf.parse(ETIME).getTime()); 
            //終了時刻が開始時刻クエリよりも大きい場合にのみ
            IF(S <E){ 
                一覧= findDates(STIME、ETIME); 
            } 
        }キャッチ(EはParseException ){ 
            e.printStackTrace(); 
        } 
        (文字列の時間のために:リスト){ 
            System.out.printlnは(時間); 
        } 
        のSystem.out.println( "日数:" +はlist.size()); 
    } 
}

  

オリジナルます。https://blog.csdn.net/qq_38955717/article/details/90448848

おすすめ

転載: www.cnblogs.com/qbdj/p/10951113.html