从两个不同的日期获取日期范围

Getting range of dates from two different dates

我有两个日期:初始日期和最终日期。给定月份,我需要能够快速获得所有临时日期。问题是日期中的每个数字都归因于一个变量。原因是我使用带范围的日期选择器,但所有值都是单独给出的(如 startDay、startMonth、startYear 和 endDay、endMonth、endYear)。所以,我需要获取这些日期之间的所有日期。它必须看起来像这样:

"24/02/2018|25/02/2018|26/02/2018|27/02/2018|28/02/2018|01/03/2018"

看看这个:01/03/2018.

解决方案:

fun getDaysBetweenDates(startdate: Date, enddate: Date): List<String> {
    val dates = ArrayList<String>()
    val calendar = GregorianCalendar()
    calendar.time = startdate

    while (calendar.time.before(enddate)) {
        val result = calendar.time
        val formatter = SimpleDateFormat("dd/MM/yyyy")
        val today = formatter.format(result)
        today.split("|")
        dates.add(today)
        calendar.add(Calendar.DATE, 1)
    }
    return dates
}

好的,感谢您帮助OleV.V。和 asm0dey.

看起来您可以通过简单的 while 循环实现您想要的结果 — 只需将天数逐一添加到初始日期,直到您到达日期范围的末尾。

所以它看起来像

val interimDates = arrayListOf<Date>()
var initial: Date = Date()// obtained earlier
val c = Calendar.getInstance()
c.time = initial
while (initial < finalDate /*also obtained earlier*/) {
    c.add(Calendar.DATE, 1)
    interimDates.add(c.time)
    initial = c.time
}

最后 interimDates 将包含所有中间日期