【问题标题】:How to calculate a date after entering a start-date with just entering the number of months in Android Studio? [duplicate]如何在输入开始日期后计算日期,只需在 Android Studio 中输入月数? [复制]
【发布时间】:2017-10-30 04:31:28
【问题描述】:

我对此做了很多研究:

基于 Android Studio 中的 datepicker,是否可以进行以下计算?

我想构建一个应用程序,您只需输入开始日期和月数,然后您将根据计算获得结束日期。 Android是否有可能根据不同月份的不同天数给出正确的计算? Android系统是否可以通过考虑最新日历来扫描日历?

谢谢你:)

【问题讨论】:

标签: java android date datepicker calendar


【解决方案1】:

是的,你可以。如果您使用的是日历,则有 3 个变量:

  1. 日历.YEAR
  2. 日历.MONTH
  3. 日历.DAY_OF_MONTH

The DAY_OF_MONTH 变量不会改变,那么您只需要根据输入中的月份数做一些工作,例如:

获取结束日期年份:

(Calendar.MONTH + input_months) % 12

注意:这将使您知道您必须添加到 Calendar.YEAR 多少年才能知道最终日期。

获取结束日期月份

int end_date_month = Calendar.MONTH + input_months;
do{
   month -= 12; 
} while (month > 12);

注意:在 do while 结束时,您将拥有结束日期月份,您就完成了。

记住 Calendar.MONTH 如果月份是 1 月,它将返回 0,依此类推,直到 12 月 (11)。

【讨论】:

  • 仅供参考,麻烦的旧日期时间类,如 java.util.Datejava.util.Calendarjava.text.SimpleTextFormat 现在是 legacy,被 java.time 类取代。在ThreeTen-Backport 项目中,大部分 java.time 功能都向后移植到 Java 6 和 Java 7。在ThreeTenABP 项目中进一步适用于Android。
猜你喜欢
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2022-06-17
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
相关资源
最近更新 更多