0

だから私はかなりの量のグーグルを使って物事を見てきましたが、それを機能させることができません. request.getEnd() が現在の startCal.getTime から数日後であっても、ステートメントは true と見なされません。何か案は?

while(startCal.after(request.getEnd()))
            {
                /* Calculate new beginning */

                startCal.add(Calendar.DATE, 1);
                newBegin = startCal.getTime();
                System.out.println(newBegin);
                /* Calculate new ending */

                endCal.add(Calendar.DATE, 1);
                newEnd = endCal.getTime();

                /* Setting new dates and series ID */
                localRequest.setBegin(newBegin);
                localRequest.setEnd(newEnd);
                localRequest.setSeriesID(seriesID);

                /* Sending new reservation to database */
                //reserve(localRequest);
                System.out.println("RESERVATION DONE");
            }
4

2 に答える 2

1

Calendar#afterこの Calendar が、指定された Object によって表される時刻より後の時刻を表すかどうかを返します。

したがって、コードは現在、 startCalafterかどうかをチェックrequest.getEnd()しています。これは、説明から、あなたがやろうとしていることの反対です。

Calendar#before目的の結果を得るには、ここで使用する方が理にかなっています。

于 2013-05-30T21:39:02.307 に答える