函式介紹: 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 標準,將一年的第一個星期的星期一作為第一週的開始,並以此類推。