Suche…


Einfach den letzten Tag eines Monats finden

Wenn Sie den letzten Tag des Monats suchen müssen, können Sie komplizierte DateTime-Gymnastik durchführen oder die folgende Methode verwenden.

Angenommen, Sie möchten den letzten Tag im Februar 2021 finden. Gehen Sie folgendermaßen vor:

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

Dies erzeugt die folgende Ausgabe in den Protokollen:

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

Dies funktioniert für alle Add-Methoden, sodass Sie DateTimes schnell und einfach in der Vergangenheit finden können.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow