輕鬆找到一個月的最後一天

如果你需要找到該月的最後一天,你可以進行復雜的 DateTime 體操,或者你可以使用以下方法。

假設你要查詢 2021 年 2 月的最後一天。請執行以下操作:

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

這會在日誌中生成以下輸出:

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

這適用於所有新增方法,使你可以輕鬆快速地找到過去的日期時間。