📅  最后修改于: 2023-12-03 15:03:36.538000             🧑  作者: Mango
在 PHP 中,DatePeriod
类表示一个日期范围。它可以用来迭代一个日期的范围内的日期。getEndDate()
是这个类中的一个方法,它返回这个日期范围的结束日期。
public DatePeriod::getEndDate() : DateTimeInterface
该方法没有参数。
这个方法返回一个 DateTimeInterface
对象,表示这个日期范围的结束日期。
下面的代码演示如何使用 DatePeriod
和 getEndDate()
方法获取给定月份的最后一天:
$month = 2; // 指定要获取的月份
$year = 2021; // 指定要获取的年份
$start = new DateTime("{$year}-{$month}-01"); // 第一天
$interval = new DateInterval('P1D'); // 间隔为 1 天
$end = $start->modify('last day of this month'); // 获取月份的最后一天
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $date) {
echo $date->format('Y-m-d') . "\n"; // 输出每一天的日期
}
echo "该月最后一天是:" . $period->getEndDate()->format('Y-m-d') . "\n"; // 输出该月份的最后一天
上面的代码将输出以下内容:
2021-02-01
2021-02-02
2021-02-03
...
2021-02-27
2021-02-28
该月最后一天是:2021-02-28
下面的代码演示如何使用 DatePeriod
和 getEndDate()
方法获取未来七天的日期范围:
$start = new DateTime();
$interval = new DateInterval('P1D');
$end = $start->modify('+6 day');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $date) {
echo $date->format('Y-m-d') . "\n"; // 输出每一天的日期
}
echo "日期范围的结束日期是:" . $period->getEndDate()->format('Y-m-d') . "\n"; // 输出日期范围的结束日期
上面的代码将输出以下内容:
2022-08-18
2022-08-19
2022-08-20
2022-08-21
2022-08-22
2022-08-23
2022-08-24
日期范围的结束日期是:2022-08-24
DatePeriod
类提供了一个方便的方法来迭代日期范围内的日期。getEndDate()
方法允许你获取这个日期范围的结束日期。此外,该方法还返回一个 DateTimeInterface
对象,该对象可以被用于进一步操作。