Mag*_*uzu 6 java date jcalendar
我正在使用JDateChooser,我正在制作一个程序,输出所选日期之间的日期列表.例如:
date1= Jan 1, 2013 // Starting Date
date2= Jan 16,2013 // End Date
Run Code Online (Sandbox Code Playgroud)
然后它会输出
Jan 2, 2013...
Jan 3, 2013..
Jan 4, 2013..
Run Code Online (Sandbox Code Playgroud)
等等......直到它到达结束日期.
我已经完成了我的程序,一旦你单击JDatechooser它上面的日期将自动输出结束日期.(选定日期+ 15天=结束日期)
我下载JCalendar或JDateChooser在这里:http://www.toedter.com/en/jcalendar/
Mad*_*mer 30
您应该尝试使用Calendar,这将允许您从一个日期走到另一个...
Date fromDate = ...;
Date toDate = ...;
System.out.println("From " + fromDate);
System.out.println("To " + toDate);
Calendar cal = Calendar.getInstance();
cal.setTime(fromDate);
while (cal.getTime().before(toDate)) {
cal.add(Calendar.DATE, 1);
System.out.println(cal.getTime());
}
Run Code Online (Sandbox Code Playgroud)
更新
这个例子将包括toDate.您可以通过创建第二个日历来解决这个问题,该日历充当lastDate和减去它的一天......
Calendar lastDate = Calendar.getInstance();
lastDate.setTime(toDate);
lastDate.add(Calendar.DATE, -1);
Calendar cal = Calendar.getInstance();
cal.setTime(fromDate);
while (cal.before(lastDate)) {...}
Run Code Online (Sandbox Code Playgroud)
这将仅为您提供开始日期和结束日期之间的所有日期.
List<Date> dates = new ArrayList<Date>(25);
Calendar cal = Calendar.getInstance();
cal.setTime(fromDate);
while (cal.getTime().before(toDate)) {
cal.add(Calendar.DATE, 1);
dates.add(cal.getTime());
}
Run Code Online (Sandbox Code Playgroud)
java.time更新时间继续前进,事情有所改善.Java 8引入了新的java.timeAPI,它取代了"日期"类,并且应该作为首选使用
LocalDate fromDate = LocalDate.now();
LocalDate toDate = LocalDate.now();
List<LocalDate> dates = new ArrayList<LocalDate>(25);
LocalDate current = fromDate;
//current = current.plusDays(1); // If you don't want to include the start date
//toDate = toDate.plusDays(1); // If you want to include the end date
while (current.isBefore(toDate)) {
dates.add(current));
current = current.plusDays(1);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16215 次 |
| 最近记录: |