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