在Android设备上使用日历查找每月的最后一天

时间:2019-08-21 21:11:15

标签: android kotlin calendar

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

以下代码使用日期作为默认开始日期,我需要允许用户在该日期和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日)

有什么想法吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

这样做:

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

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