首页 > 解决方案 > 在 Android 上使用日历查找该月的最后一天

问题描述

我正在尝试根据当前日期或修复日期更改日历小部件中允许的最后一天。

下面的代码使用日期作为默认开始日期,我需要允许用户在此日期和 3 个月后的日期之间进行选择。

val maxDay = Calendar.getInstance() 

setSelectedDate(currentShipDate.toDate())

maxDay.add(Calendar.MONTH, 3)

state().edit()
     .setMinimumDate(minDay.time)
     .setMaximumDate(maxDay.time)
     .commit()

现在maxDay设置为 3 个月后使用currentShipDate. 但是,我希望允许用户也选择一个日期,直到第 3 个月结束。

例如,如果船发生在 7 月 21 日,您可以将发货日期更改为 10 月 31 日(而不是 10 月 21 日)

例如,如果船发生在 7 月 10 日,您可以将发货日期更改为 10 月 31 日(而不是 10 月 10 日)

任何想法 ?

谢谢你的帮助

标签: androidkotlincalendar

解决方案


像这样做:

  1. 不是加 3 个月,而是加 4 -->maxDay.add(Calendar.MONTH, 4)
  2. 将月份中的日期设置为 1 -->maxDay.set(Calendar.DAY_OF_MONTH, 1)
  3. 减去一天 -->maxDay.add(Calendar.DAY_OF_MONTH, -1)

这将为您提供第三个月的最后一天。


推荐阅读