Buscar..


Encuentra fácilmente el último día de un mes

Si necesita encontrar el último día del mes, puede hacer gimnasia complicada con DateTime o puede usar el siguiente método.

Digamos que quieres encontrar el último día de febrero de 2021. Haz lo siguiente:

Integer month = 2;
Integer day = null;
Integer year = 2021;

// Create a new DateTime object for the first day of the month following
// the date you're looking for.
DateTime dtTarget = DateTime.newInstance(year, month, 1);
//In this case we would be sure that month would not be out of bound
dtTarget = dtTarget.addMonths(1);
// Then use the .addDays() method to add negative 1 days. This gives you
// the last day of the target month.
DateTime lastDayOfMonth = dtTarget.addDays(-1);
day = lastDayOfMonth.day();

System.debug(lastDayOfMonth);
System.debug(day);

Esto produce el siguiente resultado en los registros:

18:19:57:005 USER_DEBUG [15]|DEBUG|2021-02-28 08:00:00
18:21:10:003 USER_DEBUG [16]|DEBUG|28

Esto funciona para todos los métodos de adición, lo que le permite encontrar DateTimes de forma fácil y rápida en el pasado.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow