函数介绍: DateTime::setISODate() 函数用于设置给定的年份和 ISO 周数。
语法: bool DateTime::setISODate(int $year, int $week [, int $day = 1])
参数:
- year: 必需,要设置的年份。
- week: 必需,要设置的 ISO 周数。
- day: 可选,要设置的星期几(默认为周一)。
返回值: 如果成功设置日期,返回 true;否则返回 false。
示例:
$dateTime = new DateTime();
// 设置为 2022 年的第 20 周的周一
$dateTime->setISODate(2022, 20);
// 输出日期和时间
echo $dateTime->format('Y-m-d H:i:s'); // 输出结果: 2022-05-16 00:00:00
// 设置为 2023 年的第 10 周的星期日
$dateTime->setISODate(2023, 10, 7);
// 输出日期和时间
echo $dateTime->format('Y-m-d H:i:s'); // 输出结果: 2023-03-12 00:00:00
注意:
- 如果设置的日期无效(例如年份超出限制或非法的周数),则函数会返回 false,并且 DateTime 对象的日期不会改变。
- ISO 周数是指根据 ISO 8601 标准,将一年的第一个星期的星期一作为第一周的开始,并以此类推。