我有一个包含用户的生日用户的MySQL表。 我已经将sql的日期存储为变量DateOfBirth
。 现在,我想成立一个名为GameDateChooser
15年过去的生日 ,最大可选日期为当前日期jDateChooser
的最小可选日期。 我试图寻找其他的文章,但他们没有回答我的问题设定最低可选日期15年过去的生日(从MySQL),最大为当前日期
-1
A
回答
0
从Java文档有setSelectableDateRange,它可以接受两个日期,最小值和最大值:
public void setSelectableDateRange(java.util.Date min, java.util.Date max)
你的情况,你需要的东西是这样的:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -15);//15 year before
Date min = cal.getTime();
Date max = new Date();//actual date
JDateChooser jDateChooser = new JDateChooser();
//set your dates in your JDateChooser
jDateChooser.setSelectableDateRange(min, max);
0
即使setSelectableDateRange()
需要两个老派Date
对象,我仍倾向于使用现代类的年龄计算,而不是过时Calendar
:
LocalDate dateOfBirth = LocalDate.of(1959, Month.FEBRUARY, 15);
Instant min = dateOfBirth.plusYears(15)
.atStartOfDay(ZoneId.systemDefault())
.toInstant();
jDateChooser.setSelectableDateRange(Date.from(min), new Date());
LocalDate
和Instant
都内置了与Java 8和更高版本,并且也可用于Java 6和7 Date.from(Instant)
就是Java 8和更高版本,对Java 6和7还有其它转换选项。一个全新的MySQL JDBC驱动程序应该能够从数据库中检索LocalDate
。
相关问题
- 1. 日期选择器滚动到过去的日期,即使最小的日期设置为当前日期
- 2. SQLite当前日期和过去几年的当前日期
- 3. 选择最大日期和日期前
- 4. 设置最大日期为当前日期的UIDatePicker
- 5. 日期。减去从列当前日期
- 6. 从当前日期的特定日期的最后约会日期公式
- 7. 将最后修改日期减去当前日期
- 8. UIDatepicker日期早于最低或最高日期之前一天
- 9. 无法设置最大和最小日期日期选择器
- 10. angularjs日期选择器来设置最大日期和最小日期动态
- 11. 引导日期选择器禁用没有当前日期的过去日期
- 12. 如何将android datepicker对话框的最大日期设置为当前日期?
- 13. 摆脱当前日期最后5天的日期在MySQL
- 14. 将日期选择器默认日期设置为最大日期
- 15. 选择最大日期,然后从最大日期起选择组中每条记录的最后日期
- 16. 熊猫 - 减去最大日期分钟日期为每个组
- 17. 如何计算从出生日期到当前日期的当前年龄?
- 18. 获取最大日期小于当前日期
- 19. 设置日期选择器的最大日期
- 20. 获得最接近的日期为当前日期SQL
- 21. Flex:设置日期的最小和最大日期HSlider
- 22. 如何为日期选择器设置最小和最大日期?
- 23. 找出从当前日期前一年日期在JavaScript
- 24. T-SQL:从日期表中获取当前日期+前几年
- 25. 全选自最大日期
- 26. 选择时间间隔日期最大日期和最短日期
- 27. 在日期选择器设置最大日期不工作
- 28. 如何设置日期选取器对话框最大日期和minmum日期
- 29. 当前日期与选定的日期通过
- 30. Bootstrap datetimepicker禁用过去的日期和当前日期?
见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- SQL查询 – Strawberry