java.util.date getActualMaximum(Calendar.DAY_OF_MONTH)

时间:2016-09-02 16:17:48

标签: java date

使用Java Date获取一个月内的最大天数存在问题。以下代码在一年中的某些日期之外正常工作。我还没有找到一个模式。 2016年8月31日,它在9月和11月的最大天数中返回1。今天它工作正常。我需要在代码中修改一些内容才能停止此行为吗?

int lastDay;
int lastWeekDay;

public Integer getLastDate(int month, int year) {
    Calendar calendar = Calendar.getInstance();

    calendar.set(Calendar.MONTH, month);
    calendar.set(Calendar.YEAR, year);
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
    Date date = calendar.getTime();
    DateFormat DATE_FORMAT = new SimpleDateFormat("dd");
    return Integer.valueOf(DATE_FORMAT.format(date));
}

0 个答案:

没有答案