답변:
어때 :
LocalDate endOfMonth = date.dayOfMonth().withMaximumValue();
dayOfMonth()
LocalDate.Property
원래를 알고있는 방식으로 "일"필드를 나타내는를 반환합니다 LocalDate
.
이 withMaximumValue()
방법은 이 특정 작업에 권장하도록 문서화 되어 있습니다.
이 작업은 월 길이가 다양하므로 해당 월의 마지막 날에 LocalDate를 얻는 데 유용합니다.
LocalDate lastDayOfMonth = dt.dayOfMonth().withMaximumValue();
dt.with(TemporalAdjusters.lastDayOfMonth())
또 다른 간단한 방법은 다음과 같습니다.
//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);
오래된 질문이지만 이것을 찾고 있었을 때 최고의 Google 결과입니다.
누군가가 int
JodaTime을 사용하여 실제 마지막 날을 필요로하는 경우 다음을 수행 할 수 있습니다.
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;
}
JodaTime을 사용하여 다음을 수행 할 수 있습니다.
public static final Integer CURRENT_YEAR = DateTime.now (). getYear (); public static final Integer CURRENT_MONTH = DateTime.now (). getMonthOfYear (); public static final Integer LAST_DAY_OF_CURRENT_MONTH = DateTime.now () .dayOfMonth (). getMaximumValue (); public static final Integer LAST_HOUR_OF_CURRENT_DAY = DateTime.now () .hourOfDay (). getMaximumValue (); public static final Integer LAST_MINUTE_OF_CURRENT_HOUR = DateTime.now (). minuteOfHour (). getMaximumValue (); public static final Integer LAST_SECOND_OF_CURRENT_MINUTE = DateTime.now (). secondOfMinute (). getMaximumValue (); public static DateTime getLastDateOfMonth () { 새로운 DateTime (CURRENT_YEAR, CURRENT_MONTH, LAST_DAY_OF_CURRENT_MONTH, LAST_HOUR_OF_CURRENT_DAY, LAST_MINUTE_OF_CURRENT_HOUR, LAST_SECOND_OF_CURRENT_MINUTE); }
github에 대한 내 작은 요점에서 설명하는 것처럼 유용한 기능이 많은 JodaTime 및 java.util.Date Util 클래스.
DateTime
: 유형