Dont know about best way but...this is one
String [] s = {"Jan", "Feb", "Mar", "Apr", "May","Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
int cnt = 5;
for (int i = 0; i < s.length; i++) {
System.out.print(s[cnt]+" ");
cnt++;
if (cnt==12) cnt=0;
}
Not bad, but I would do something like this:
String [] s = {"Jan", "Feb", "Mar", "Apr",
"May","Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
int cnt = 0;
for (int i = date.getMonth(); count < 12; i++) {
System.out.print(s[i]+" ");
cnt++;
if (i==11){
i=0;
}
}
After rereading the question I realized that I made a boo-boo. My original code was not showing the previous months.
String [] s = {"Jan", "Feb", "Mar", "Apr",
"May","Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"};
int cnt = 0;
int year = date.getYear();
for (int i = (date.getMonth() - 1); count < 12; i--) {
System.out.print(year + "-" + s[i]+" ");
cnt++;
if (i==0){
i=11;
year -= 1;
}
}
If you look at the Date class you will see that it has all these spiffy methods that tell you a lot.
Hope this helps.
Message was edited by: EsoralTrebor
EsoralTrebor
I have done like this
Calendar c= Calendar.getInstance();
String [] s = {"Jan", "Feb", "Mar", "Apr", "May","Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
int cnt = c.get(Calendar.MONTH)+1;
int iYear=c.get(Calendar.YEAR)-1;
for (int i = 0; i < s.length; i++) {
System.out.print(s[cnt]+" - "+iYear);
System.out.print(",");
cnt++;
if (cnt==12){ cnt=0;
iYear++;
}
}
Output:
Jun - 2005,Jul - 2005,Aug - 2005,Sep - 2005,Oct - 2005,Nov - 2005,Dec - 2005,Jan - 2006,Feb - 2006,Mar - 2006,Apr - 2006,May - 2006
Is this correct way ?
I would do something like:
SimpleDateFormat dfMonth = new SimpleDateFormat("MMM '-' yyyy");
Calendar c= Calendar.getInstance();
c.add(Calendar.MONTH, -12); // go 12 month back
for (int i = 0; i < 12; i++) {
System.out.println(dfMonth.format(c.getTime()));
c.add(Calendar.MONTH, 1);
}
Franco
> I would do something like:
>
> [code]
> SimpleDateFormat dfMonth = new
> SimpleDateFormat("MMM '-' yyyy");
>Calendar c= Calendar.getInstance();
> c.add(Calendar.MONTH, -12); // go 12 month back
>for (int i = 0; i < 12; i++) {
>
> ystem.out.println(dfMonth.format(c.getTime()));
> c.add(Calendar.MONTH, 1);
> /code]
>
> Franco
Show off!!! ;-)