java - 计算 future N天内即将生日的方法

标签 java java.util.date java.util.calendar

我需要一个接受整数输入 (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/

相关文章:

java - Grails 应用程序速度非常慢

java - 处理在相对布局上的向下拖动

java - 将日期转换为时间戳 UTC

java - 比较谷歌驱动器上的文件和本地计算机上存储的文件的上次修改时间

java - Jboss Java Date 夏令时

java - 将日历集 DAY_OF_WEEK 转换为使用 TemporalAdjusters

java - 如果无论如何都会抛出 OverlappingFileLockException,那么在 FileChannel.lock 中等待的目的是什么?

Java Guice DI 错误 : UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl

java - 如何获取设备日历(默认日历)事件并显示在我们的应用程序中?