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

时间:2018-02-24 08:37:24

标签: java android calendar kotlin daterangepicker

我有两个约会:初始和最终。鉴于这个月,我需要能够快速获得所有临时日期。问题是日期中的每个数字都是由变量引起的。原因是我使用了日期选择器和范围,但所有值都是单独给出的(如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。

SOLUTION:

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。

1 个答案:

答案 0 :(得分:1)

看起来你可以通过简单的循环来实现你想要的东西 - 只需将天数逐个添加到初始日期,直到你到达日期范围的末尾。

所以它看起来像

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将包含所有中期日期