DatePeriod::createFromISO8601String()
创建一个根据 ISO 8601 字符串表示的时间段(period)的 DatePeriod 对象
函数名:DatePeriod::createFromISO8601String()
适用版本:PHP 5 >= 5.3.0, PHP 7
函数描述:创建一个根据 ISO 8601 字符串表示的时间段(period)的 DatePeriod 对象
用法:
DatePeriod::createFromISO8601String(string $isostr): ?DatePeriod
参数:
$isostr:一个满足 ISO 8601 标准的时间段表示的字符串。字符串必须包含一个开始日期和一个结束日期,并遵循以下格式:YYYY-MM-DD/YYYY-MM-DD/PnYnMnDTnHnMnS (其中n代表一个整数)。开始日期和结束日期之间用斜杠(/)分隔。
返回值:
如果传递的字符串合法,则返回一个新的 DatePeriod 对象。否则返回 NULL。
示例代码:
<?php
$start = new DateTime('2022-01-01');
$end = new DateTime('2022-02-01');
$period = DatePeriod::createFromISO8601String('2022-01-01/2022-02-01');
// 输出每个日期
foreach ($period as $date) {
echo $date->format('Y-m-d') . "\n";
}
?>
以上示例代码将输出以下结果:
2022-01-01
2022-01-02
2022-01-03
...
2022-02-01
注意事项:
传递给 $isostr 参数的字符串必须严格遵循 ISO 8601 标准的格式,否则函数将返回 NULL。
日期和时间信息必须明确提供,缺少必要的信息将导致函数返回 NULL。