我正在制作一个程序,用于生成两个日期之间的日期。日期来自DateChooser
。当我单击一个按钮时,两个日期之间的日期生成如下:
date1 Jun 5, 2013
date2 June 20, 2013
使用此代码
Calendar cal2 = Calendar.getInstance();
cal2.setTime(toDate);
while (cal2.getTime().before(newDateString)) {
cal2.add(Calendar.DATE, 1);
String datelist=(format.format(cal2.getTime()));
System.out.println(datelist);
它将生成此输出
2013-06-18
2013-06-19
2013-06-20
2013-06-21
2013-06-22
2013-06-23
2013-06-24
2013-06-25
2013-06-26
2013-06-27
2013-06-28
2013-06-29
2013-06-30
2013-07-01
2013-07-02
我的问题是我想在JTable
上输出。我尝试像string
那样调用datelist
中的每个System.out.println(arrayImageList.get(2));
,但它不起作用。如何将datelist
输出到JTable
或单独调用datelist
中的每个元素?
final String oldy= ("yyyy-MM-dd");
final String newy = ("MMMM dd, yyyy");
SimpleDateFormat formatty = new SimpleDateFormat(oldy);
java.util.Date datey=null;
//format the final date output to MMMM-dd-yyyy
try {
datey=formatty.parse(datelist);
java.util.Date newqwe2 = new SimpleDateFormat(oldy).parse(datelist);
String eqweqwe = new SimpleDateFormat(newy).format(newqwe2);
ArrayList<String> arrayImageList = new ArrayList<String>();
List<String> strlist2 = new ArrayList<String>();
arrayImageList.addAll((List<String>) Arrays.asList(eqweqwe));
for(int i = 0; i < arrayImageList.size(); i++){
strlist2.add(arrayImageList.get(i));
System.out.println(strlist2.get(2));
很抱歉这篇文章很长,但我只是希望你们能够完成整个过程以防万一。“
答案 0 :(得分:0)
在我看来,你正在做很多不必要的工作。如果您使用Calendar
个对象,则可以非常有效地执行此操作。将两个日期放在Calendar
的对象中,并将其命名为toDate
和fromDate
。您只需运行while
循环,不断增加fromDate
,直到大于toDate
并将其打印出来。
Calendar fromDate;
Calendar toDate;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
while(fromDate.compareTo(toDate) < 0)
{
System.out.println(df.format(fromDate.getTime()));
fromDate.add(Calendar.DATE, 1);
}
您还可以使用循环来处理其他事情(例如,为JTable
填充列表或模型)。在这种情况下,只需列出String
或Date
个对象,然后只需将getTime()
或format()
的回复放入列表/模型中。