函数名: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。