정수 입력 (N)을 사용하고 다음 N 일 이내에 생일을 반환하는 메소드가 필요합니다. 나는 어떤 코드를 실행시키는 것이 매우 어렵다는 것을 알고있다. 아래 코드는 작동 방법을 나타내는 코드입니다. 작동 코드가 아닙니다. 어떤 도움을 주셔서 감사합니다.다음 N 일간 다가오는 생일을 계산하는 방법
public static List<String> returnListOfDatesBetweenTwoDates(java.util.Date fromDate,
java.util.Date toDate) {
List<String> listOfDates = Lists.newArrayList();
Calendar startCal = Calendar.getInstance(Locale.ENGLISH);
startCal.setTime(fromDate);
Calendar endCal = Calendar.getInstance(Locale.ENGLISH);
endCal.setTime(toDate);
while (startCal.getTimeInMillis() <= endCal.getTimeInMillis()){
java.util.Date date = startCal.getTime();
listOfDates.add(new SimpleDateFormat("dd-MM-yyyy"
, Locale.ENGLISH).format(date).trim());
startCal.add(Calendar.DATE, 1);
}
return listOfDates;
}
지금 날짜의 생일 목록을 날짜의 목록을 비교하고 그에 따라 작동
/* print out all the birthdays in the next N days */
public void show(int N){
Calendar cal = Calendar.getInstance();
Date today = cal.getTime();
// birthdayList is the list containing a list
// of birthdays Format: 12/10/1964 (MM/DD/YYYY)
for(int i = 0; i<birthdayList.getSize(); i++){
if(birthdayList[i].getTime()- today.getTime()/(1000 * 60 * 60 * 24) == N)){
System.out.println(birthdayList[i]);
}
}
}
첫 번째 호출 포트 - 가능한 경우 java.util.Date 및 java.util.Calendar를 포기합니다. Java 8의'java.time' 패키지 나 Joda Time을 사용할 수 있습니까? –
birthdayList - 문자열 또는 날짜가 포함되어 있습니까? –
Java Instant를 사용하면 날짜를 캡슐화하는 isBefore 및 isAfter 메소드가 있습니다. – StackFlowed