使用 Android 上的日历查找该月的最后一天

Find in the last day of the month using calendar on Android

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

下面的代码使用一个日期作为默认开始日期,我需要允许用户在该日期和 + 3 个月后的日期之间 select。

val maxDay = Calendar.getInstance() 

setSelectedDate(currentShipDate.toDate())

maxDay.add(Calendar.MONTH, 3)

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

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

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

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

有什么想法吗?

感谢您的帮助

这样做:

  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)

这会给你第三个月的最后一天。