我有一個包含用戶的生日用戶的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. MYSQL選擇日期範圍最接近當前日期
- 7. SQL - 設定的日期前獲得最大的(日期)
- 8. 嘗試將當前日期和日期參數設置爲過去日期
- 9. 選擇日期到當前日期 - mysql
- 10. MySQL:在特定日期前選擇最近日期
- 11. 從當前日期的特定日期的最後約會日期公式
- 12. wijmo日期選擇器最大日期
- 13. 將最後修改日期減去當前日期
- 14. UIDatepicker日期早於最低或最高日期之前一天
- 15. 無法設置最大和最小日期日期選擇器
- 16. angularjs日期選擇器來設置最大日期和最小日期動態
- 17. 引導日期選擇器禁用沒有當前日期的過去日期
- 18. 減去當前日期的年份
- 19. 如何從當前日期計算過去的日期
- 20. 如何將android datepicker對話框的最大日期設置爲當前日期?
- 21. 擺脫當前日期最後5天的日期在MySQL
- 22. 將日期選擇器默認日期設置爲最大日期
- 23. 選擇最大日期,然後從最大日期起選擇組中每條記錄的最後日期
- 24. Vb.net當前日期減去日期
- 25. 熊貓 - 減去最大日期分鐘日期爲每個組
- 26. 獲取最大日期小於當前日期
- 27. 防止最大日期到當前日期
- 28. 如何計算從出生日期到當前日期的當前年齡?
- 29. Mysql UNION表最大日期
- 30. 在HTTP標頭中設置過期日期或最大年齡
見http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- SQL查詢 – Strawberry