How to get the last date of a particular month with JodaTime?

Another simple method is this:

//Set the Date in First of the next Month:
answer = new DateTime(year,month+1,1,0,0,0);
//Now take away one day and now you have the last day in the month correctly
answer = answer.minusDays(1);

An old question, but a top google result when I was looking for this.

If someone needs the actual last day as an int instead using JodaTime you can do this:

public static final int JANUARY = 1;

public static final int DECEMBER = 12;

public static final int FIRST_OF_THE_MONTH = 1;

public final int getLastDayOfMonth(final int month, final int year) {
    int lastDay = 0;

    if ((month >= JANUARY) && (month <= DECEMBER)) {
        LocalDate aDate = new LocalDate(year, month, FIRST_OF_THE_MONTH);

        lastDay = aDate.dayOfMonth().getMaximumValue();
    }

    return lastDay;
}

How about:

LocalDate endOfMonth = date.dayOfMonth().withMaximumValue();

dayOfMonth() returns a LocalDate.Property which represents the "day of month" field in a way which knows the originating LocalDate.

As it happens, the withMaximumValue() method is even documented to recommend it for this particular task:

This operation is useful for obtaining a LocalDate on the last day of the month, as month lengths vary.

LocalDate lastDayOfMonth = dt.dayOfMonth().withMaximumValue();