2013-06-03 1 views
-1

Я делаю программу, которая будет генерировать даты между двумя датами. Даты начинаются с 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

голос проголосовали? любая причина, почему? ... – Maguzu

ответ

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() в списке/модели.

+0

«Поместите обе даты в объекты Календаря и назовите их toDate и fromDate». Что вы подразумеваете под этим? – Maguzu

 Смежные вопросы

  • Нет связанных вопросов^_^