Sök…


Hitta enkelt en sista dag i en månad

Om du behöver hitta den sista dagen i månaden kan du göra komplicerad DateTime-gymnastik eller använda följande metod.

Säg att du vill hitta den sista dagen i februari 2021. Gör följande:

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);

Detta ger följande utgång i loggarna:

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

Detta fungerar för alla tilläggsmetoder, så att du enkelt och snabbt kan hitta DateTimes i det förflutna.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow