我需要一个接受整数输入 (N) 并返回接下来 N 天内的生日的方法。我发现运行任何代码都非常困难。下面只是我希望它如何工作的代码 - 它绝不是一个工作代码。非常感谢任何帮助。
/* 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]);
}
}
}
最佳答案
Calendar calendar = Calendar.getInstance(Locale.ENGLISH);
calendar.setTime(new Date());
calendar.add(Calendar.DATE, n); // n is the number of days upto which to be calculated
Date futureDate = calendar.getTime();
List<String> listOfDates = returnListOfDatesBetweenTwoDates(new Date()
, futureDate);
哪里
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;
}
现在将此日期列表与您的生日日期列表进行比较并进行相应的处理
关于java - 计算 future N天内即将生日的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25767363/