última fecha del mes anterior de regresar de 30 días de mayo

Mdhar9e:

Estoy utilizando el código de abajo para recuperar el último día del mes anterior - Ex: Mayo. Pero es volver 30 días en lugar de 31.

El código da a continuación

package net.vcmg.date;
import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang.time.DateUtils;

public class LastDayPreviousMonth {
    public static void main(String[] args) {
        Date lastDateOfPreviousMonth = addMonths(lastDayOfTheMonth(today()), -1);
        System.out.println("lastDateOfPreviousMonth: "+lastDateOfPreviousMonth);

    }

    //the below method is from Utils.java
    public static Date lastDayOfTheMonth(Date d) {
           Calendar cal = Calendar.getInstance();
           cal.setTime(d);
           int actualMax = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
           cal.set(Calendar.DAY_OF_MONTH, actualMax);
           return cal.getTime();
    }

    public static Date addMonths(Date date, int numMonths)
    {
        return DateUtils.addMonths(date, numMonths);
    }

    public static Date today()
    {
        return truncDate(now());
    }

    public static Date now()
    {
        // will cut-off milliseconds
        return new Date( (System.currentTimeMillis()/1000) * 1000);
    }

    public static Date truncDate (Date date) {
        return DateUtils.truncate(date, Calendar.DATE);
    }

}

Aquí, cuando llamo al lastDateOfPreviousMonth en el método principal, que está regresando de 30 días solo. No es la 31, mayo contiene 31 días efectivamente. Por favor ayuda.

Vitaly:

Prueba esto:

public static void main(String[] args) {
        Date lastDateOfPreviousMonth = lastDayOfTheMonth(addMonths(today(), -1));
        System.out.println("lastDateOfPreviousMonth: " + lastDateOfPreviousMonth);

    }

Cuando se llama a lastDayOfTheMonth para hoy () días será 30. Y después de menos de un mes resultado esperado será de 30, no 31.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=231608&siteId=1
Recomendado
Clasificación