복붙노트

[SCALA] 어떻게 JodaTime와 특정 월의 마지막 날짜를 얻으려면?

SCALA

어떻게 JodaTime와 특정 월의 마지막 날짜를 얻으려면?

나는 한 달 (org.joda.time.LocalDate)를 첫 번째 날짜와 마지막 하나를 얻을 필요가있다. 첫 얻는 것은 사소한,하지만 마지막을 얻는 것은 몇 년에 걸쳐 다양 개월이 서로 다른 길이와 월 길이가 일부 논리를 필요로하는 것 같다. 이 이미 JodaTime에 내장 또는 내가 나 자신을 구현해야하는 메커니즘이 있습니까?

해결법

  1. ==============================

    1.방법에 대해 :

    방법에 대해 :

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

    DAYOFMONTH ()는 원래 LOCALDATE을 알고있는 방법으로 "일 달의"필드를 나타내는 LocalDate.Property를 반환합니다.

    공교롭게도의 withMaximumValue () 메소드는 심지어이 특정 작업을 위해 추천하는 설명되어 있습니다 :

  2. ==============================

    2.또 다른 간단한 방법이 있습니다 :

    또 다른 간단한 방법이 있습니다 :

    //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);
    
  3. ==============================

    3.오래된 질문하지만, 최고 구글 결과 나는이 찾고 때.

    오래된 질문하지만, 최고 구글 결과 나는이 찾고 때.

    누군가가 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;
    }
    
  4. ==============================

    4.JodaTime를 사용하여, 우리는이 작업을 수행 할 수 있습니다

    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() {
            return new 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 백분율 클래스 유용한 기능이 많은.

  5. from https://stackoverflow.com/questions/9711454/how-to-get-the-last-date-of-a-particular-month-with-jodatime by cc-by-sa and MIT license