(PHP 5 >= 5.2.0, PHP 7)
DateTime::setISODate -- date_isodate_set — Define uma data ISO
Estilo orientado à objeto
Estilo procedural
Define uma data, de acordo com o padrão ISO 8601 - utilizando a diferença de semanas e dias em vez de datas específicas.
object
Somente estilo procedural: Um objeto DateTime returnado por date_create(). A função modifica esse objeto.
year
Ano da data.
week
Semana da data.
day
Diferença do primeiro dia da semana.
Retorna o objeto DateTime para o encadeamento
de métodos ou FALSE
em caso de falha.
Versão | Descrição |
---|---|
5.3.0 | Modificado o valor
retornado de NULL para DateTime. |
Exemplo #1 Exemplo do método DateTime::setISODate()
Estilo orientado à objeto
<?php
$date = new DateTime();
$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 irão imprimir:
2008-01-07 2008-01-13
Exemplo #2 Valores que excedem os limites são adicionados aos seus valores anteriores
<?php
$date = new DateTime();
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>
O exemplo acima irá imprimir:
2008-01-13 2008-01-14 2009-01-04
Exemplo #3 Encontrando o mês de uma determinada semana
<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>
Os exemplos acima irão imprimir:
3