我编写了这个函数来获取本月的最后一天。
/**
* @param month integer value of month
* @param year integer value of month
* @return last day of month in MM/dd/YYYY format
*/
private static String getDate(int month, int year) {
Calendar calendar = Calendar.getInstance();
// passing month-1 because 0-->jan, 1-->feb... 11-->dec
calendar.set(year, month - 1, 1);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
Date date = calendar.getTime();
DateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/YYYY");
return DATE_FORMAT.format(date);
}
所有输入都正常工作,唯一的例外是当月份为12月时,即getDate(12,2012)返回12/31/2013,但应返回12/31/2012。 请解释此行为并提供解决方案。
getLastDayOfMonth
。 - Carlos Campderrós