Método setISODate da classe DateTime

O método setISODate define a data em um objeto DateTime de acordo com o padrão ISO 8601, usando o número da semana e o dia da semana. O primeiro parâmetro é o ano, o segundo é o número da semana, o terceiro é o dia da semana (de 1 a 7, onde 1 é segunda-feira).

Sintaxe

php$datetime->setISODate(year, week, day);

Exemplo

Vamos definir a data para a 10ª semana de 2023, quinta-feira (dia da semana 4):

php<?php
  $date = new DateTime();
  $date->setISODate(2023, 10, 4);
  echo $date->format('Y-m-d');
?>

Resultado da execução do código:

php'2023-03-09'

Exemplo

Vamos definir a data apenas pelo número da semana (o dia da semana será segunda-feira por padrão):

php<?php
  $date = new DateTime();
  $date->setISODate(2023, 10);
  echo $date->format('Y-m-d');
?>

Resultado da execução do código:

php'2023-03-06'

Veja também

  • a função checkdate,
    que verifica a validade de uma data
  • a função date,
    que formata uma data fornecida