android - 如何在日历数据类型中从现在开始一个月?
问题描述
如您所见,它需要Calendar
输入的数据类型。
我希望最大日期总是从当前时间开始一个月。我试过这样
val now = Calendar.getInstance()
val currentYear: Int = now.get(Calendar.YEAR)
val currentMonth: Int = now.get(Calendar.MONTH)
val currentDay: Int = now.get(Calendar.DAY_OF_MONTH)
val oneMonthFromNow = now.add(Calendar.MONTH,1)
但oneMonthFromNow
类型是 in unit
,而不是Calendar
数据类型。那么如何从当前日期时间动态添加一个月?
java或者kotlin都可以
解决方案
我要说的第一件事是不要使用
Calendar
class,而是使用LocalDateTime
. 你会得到很多关于如何使用这个类以及为什么要使用的文章。
即使您想使用 Calendar 类,那么我会说如果有任何东西不起作用或没有返回任何东西,您应该查看该类的实现。一定有办法解决你的问题。这种方式将增加您的知识以及调试技能。
所以来到你的解决方案,你需要像这样使用
val now = Calendar.getInstance()
// val currentYear: Int = now.get(Calendar.YEAR)
// val currentMonth: Int = now.get(Calendar.MONTH)
// val currentDay: Int = now.get(Calendar.DAY_OF_MONTH)
now.add(Calendar.MONTH,1) // Added one month
val oneMonthFromNow = now
// Or
// val oneMonthFromNow = now.clone()
// oneMonthFromNow.add(Calendar.MONTH,1)
推荐阅读
- c# - 我想使用 WPF 组合框将每个项目翻译成用户选择的语言
- c# - 在未绑定的 Accessform 中使用 WPF-Grid
- javascript - Angular 5 延迟加载不起作用。共享模块不工作
- c# - 从文本字符串中提取完整路径
- java - 无法创建 Aws java Web 项目
- java - InfiniSpan如何获取缓存
- java - spring boot 部署:nginx + tomcat vs only tomcat
- java - 如何将窥视高度设置为底页的内容
- php - Laravel 查询生成器在 where 数组子句中返回多个列值
- python - 使用 SciPy 进行稀疏不完全 LU 分解的内存使用