Método setISODate de la clase DateTime
El método setISODate establece la fecha en el objeto DateTime de acuerdo con el estándar ISO 8601, utilizando el número de semana y el día de la semana. El primer parámetro acepta el año, el segundo - el número de semana, el tercero - el día de la semana (del 1 al 7, donde 1 es lunes).
Sintaxis
$datetime->setISODate(year, week, day);
Ejemplo
Establezcamos la fecha para la semana 10 del año 2023, jueves (día de la semana 4):
<?php
$date = new DateTime();
$date->setISODate(2023, 10, 4);
echo $date->format('Y-m-d');
?>
Resultado de la ejecución del código:
'2023-03-09'
Ejemplo
Establezcamos la fecha solo por el número de semana (el día de la semana será lunes por defecto):
<?php
$date = new DateTime();
$date->setISODate(2023, 10);
echo $date->format('Y-m-d');
?>
Resultado de la ejecución del código:
'2023-03-06'