【发布时间】:2018-02-24 08:37:24
【问题描述】:
我有两个日期:初始日期和最终日期。给定月份,我需要能够快速获得所有临时日期。问题是日期中的每个数字都是由一个变量引起的。原因是我使用带范围的日期选择器,但所有值都是单独给出的(如 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。
【问题讨论】:
-
请搜索。以前有人问过并回答过。
-
它也被多次询问和回答。 Here, for example: how to get a list of dates between two dates in java。无论如何去搜索更多,我不太可能找到最好的答案。
-
@OleV.V.哎哟。对不起,我不在线。所以,我搜索了,但由于某种原因我没有找到它。 (显然谷歌没有产生正常的结果,但在这里我总是忘记我可以直接搜索)。好吧,现在我来看看你提供什么。
-
@OleV.V.好吧,如果它会有所帮助,请查看我的编辑。再次,如果它会有所帮助....
-
感谢编辑。 “……ThreeTenABP,但是,我的理解是,它的使用效率非常低。”未敢苟同。
LocalDate来自 ThreeTenABP,我希望它在高效的代码编写、高效的维护和高效的运行时性能方面都是高效的。我不知道你从哪里得到其他声明。
标签: java android calendar kotlin daterangepicker