2016-12-19 6 views
-1

Я хочу, чтобы установить список или карту, которая когда-либо предпочтительнее, я получить месяц и год в качестве входных данных, например рассмотреть вход Feb-2015 затем список или карта должны содержать месяцы и год в течение следующих 12 месяцев. Как feb-2015 march-2015 apr-2015 may-215.... до feb-2016 Установить все месяцы в списке или карту вместе с годами

Как установить карту или список в вышеуказанном порядке?

+0

Java @PaulRooney –

+0

ничего на самом деле !! –

+0

Вы сказали «12 месяцев», но в вашем примере заполните 13 месяцев. – davidxxx

ответ

0

Попробуйте из SimpleDateFormat и Calendar:

import java.text.SimpleDateFormat; 
import java.text.ParseException; 
import java.util.Calendar; 
import java.util.Date; 
import java.util.List; 
import java.util.ArrayList; 
class Demo{ 
    public static void main(String[]args)throws ParseException{ 
     final String input="Mar-2016"; 
     final SimpleDateFormat fmt=new SimpleDateFormat("MMM-yyyy");//same as above format 
     Date date=fmt.parse(input); 
     final Calendar cal=Calendar.getInstance();//as of now 
     cal.setTime(date);//set to input 
     final int month=cal.get(Calendar.MONTH);//gives index 0 - 11, Jan - Dec 
     List<String> dates=new ArrayList<>(); 
     do{ 
      cal.add(Calendar.MONTH,1);//adds month one-by-one 
      date=cal.getTime();//give date 
      dates.add(fmt.format(date));//date to string as per above format 
     }while(month!=cal.get(Calendar.MONTH));//unitl next year of given input month 
     System.out.println(dates); 
    } 
} 

Code on My YouTube Channel

+0

Большое спасибо @Arvind –