2013-08-31 16 views
0
//this month 
     SimpleDateFormat df_formonth = new SimpleDateFormat("MMM"); 
     c.set(Calendar.MONTH, 5); //integer to be changed upon click - maybe month counter from now 
     String currmonth = df_formonth.format(c.getTime());  

這應返回自6月份以來,從0我們指數月至11的Calendar.MONTH設置錯了一個月

但七月

任何解決方案或其他方式來解決這個問題返回?

+0

請給一個簡短而*完整*程序演示問題。 –

+0

try - df_formonth.format(new Date()); – Kurubaran

回答

4

因爲今天的日期是八月三十一日,六月只有三十天,這個月會自動增加到七月的下一個月。

要解決,你可以一個月

c.set(Calendar.DATE, 30); 
c.set(Calendar.MONTH, Calendar.JUNE); 

此外,我建議使用Calendar常數爲清楚起見

+0

感謝它的工作 –

+0

這種行爲(「自動包裝」)可以通過使用'Calendar.setLenient(false)'來防止。 –

+0

@a_horse_with_no_name這會導致拋出IllegalArgumentException ... – Reimeus

相關問題