【发布时间】:2021-08-31 00:53:36
【问题描述】:
请告诉我,我们有一个日期,例如 2020-06-15。我需要提前一年增加一个月,并将日期更改为该月的最后一天。也就是说,结果应该是:
- 2020-06-15(第一次约会)
- 2020-07-31(7月31天)
- 2020-08-31(8月31天)
- 2020-09-30(9月30天)
- 2020-10-31(10月31天)
以此类推,直到今年 7 月 22 日。
我尝试这样:
foreach ($getDates as $getDate) {
# Suppose getDate contains - 2020-06-15
$firstDate = new \DateTime($getDate);
$datesArr[] = $firstDate->format('Y-m-d');
for ($i = 1; $i <= 12; $i++) {
$date = new \DateTime($getDate);
$month = $date->format('F');
$year = $date->format('Y');
$date->modify("+$i month");
# until this moment everything is fine, one by one months is added one year in advance
$date->modify("last day of $month $year");
# everything breaks here, although the documentation states "last day of July 2008"
$datesArr[] = $date->format('Y-m-d');
}
}
但是在 modify("last day of $month $year");告诉我怎么解决?
【问题讨论】: