Salesforce
Manipulación de fecha y hora
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