これは、2 つの日付の間に印刷するコードであり、土曜日と日曜日を除外していますが、これは特定の月の最後の日付を印刷しません。
import org.joda.time.DateTimeConstants;
import org.joda.time.LocalDate;
public class DatesexcludingWeekend {
public static void main(String[] args) {
final LocalDate start = new LocalDate(2012, 05, 1);
final LocalDate end = new LocalDate(2012, 05, 31);
LocalDate weekday = start;
if (start.getDayOfWeek() == DateTimeConstants.SATURDAY|| start.getDayOfWeek() == DateTimeConstants.SUNDAY) {
weekday = weekday.plusWeeks(1).withDayOfWeek(DateTimeConstants.MONDAY);
}
while (weekday.isBefore(end)) {
String dateValues[] = weekday.toString().split("-");
//System.out.println(dateValues[2]+"/"+dateValues[1]+"/"+dateValues[0]);
String date=dateValues[2]+"/"+dateValues[1]+"/"+dateValues[0];
System.out.println("date : "+date);
if (weekday.getDayOfWeek() == DateTimeConstants.FRIDAY)
weekday = weekday.plusDays(3);
else
weekday = weekday.plusDays(1);
}
}
}
上記のコードの出力は次のとおりです。
date : 01/05/2012
date : 02/05/2012
date : 03/05/2012
date : 04/05/2012
date : 07/05/2012
date : 08/05/2012
date : 09/05/2012
date : 10/05/2012
date : 11/05/2012
date : 14/05/2012
date : 15/05/2012
date : 16/05/2012
date : 17/05/2012
date : 18/05/2012
date : 21/05/2012
date : 22/05/2012
date : 23/05/2012
date : 24/05/2012
date : 25/05/2012
date : 28/05/2012
date : 29/05/2012
date : 30/05/2012
31-05/2012
これが印刷されていない場合
これを解決するのを手伝ってください。
よろしくトニー