DateTimeImmutable::setISODate
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setISODate — Define a data ISO
Descrição
Retorna um novo objeto DateTimeImmutable com a data configurada de acordo com o padrão ISO 8601 - usa semanas e deslocamentos de dias no lugar de datas específicas.
Parâmetros
year
-
Year of the date.
week
-
Week of the date.
dayOfWeek
-
Offset from the first day of the week.
Valor Retornado
Retorna um novo objeto DateTimeImmutable com os dados modificados.
Exemplos
Example #1 Exemplo da função DateTimeImmutable::setISODate()
Estilo orientado a objetos
<?php
$date = new DateTimeImmutable();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>
Estilo procedural
<?php
$date = date_create();
date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";
date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>
Os exemplos acima produzirão:
2008-01-07 2008-01-13
Example #2 Valores que excedem os limites são adicionados a seus valores pai.
<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 2, 7);
echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setISODate(2008, 2, 8);
echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setISODate(2008, 53, 7);
echo $newDate->format('Y-m-d') . "\n";
?>
O exemplo acima produzirá:
2008-01-13 2008-01-14 2009-01-04
Example #3 Para encontrar o mês no qual uma semana se localiza
<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo $newDate->format('n');
?>
Os exemplos acima produzirão:
3
Veja Também
- DateTimeImmutable::setDate() - Define a data
- DateTimeImmutable::setTime() - Define um horário