任何人都可以請幫忙。 我正在創建日曆中的當前日期。 然後我想通過添加月數來設置一個字符串到一個新的日期.. 當我使用下面的代碼時,它的作品,當我添加12個月迄今, 但是當我嘗試添加1個月,然後下一個日期是1月(+2個月) 當我嘗試添加3個月時,下一個日期是4月。 6個月,下個日期是2013年10月等.... 當試圖添加24,36或48個月時,它幾乎可以工作,但是提前1個月。 似乎沒有要來的日期是如何改變添加到日曆日期...不準確?
//Get Current date and set as text
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, Retest); // Months to Date
int day = c.get(Calendar.DATE);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
if (month<=9) { MONTH$ = "0"+month ;}
else {MONTH$ = ""+month; } //Set month to MM
NextTest$ = ""+day+"/"+MONTH$+"/"+year; //Put date ints into string DD/MM/YYYY
Toast.makeText(this, "Re-Test Due.. "+NextTest$, Toast.LENGTH_SHORT).show();
請給出一個樣本日期,並記住,您可以通過反覆添加幾個月來明確地丟失信息 - 1月30日+ 1個月應該是什麼? –
您不需要這麼做,只需使用帶有「dd/MM/yyyy」模式的'DateFormat'。 –
當我用'Retest = 1'運行你的代碼時,我得到了2013年12月6日('6/11/2012'以0爲基礎的月份)。 'Retest = 2',我得到了2013年1月6日。'Retest = 3',我得到了2013年2月6日。正如Jon所說,你需要給我們提供一些樣本輸入和輸出,並且可能會展示如何定義'Retest' 。 – Eric