DateTime
PHP Manual

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setISODate -- date_isodate_setDefine uma data ISO

Descrição

Estilo orientado à objeto

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Estilo procedural

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

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.

Parâmetros

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.

Valor Retornado

Retorna o objeto DateTime para o encadeamento de métodos ou FALSE em caso de falha.

Changelog

Versão Descrição
5.3.0Modificado o valor retornado de NULL para DateTime.

Exemplos

Exemplo #1 Exemplo do método DateTime::setISODate()

Estilo orientado à objeto

<?php
$date 
= new DateTime();

$date->setISODate(20082);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(200827);
echo 
$date->format('Y-m-d') . "\n";
?>

Estilo procedural

<?php
$date 
date_create();

date_isodate_set($date20082);
echo 
date_format($date'Y-m-d') . "\n";

date_isodate_set($date200827);
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(200827);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(200828);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(2008537);
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(200814);
echo 
$date->format('n');
?>

Os exemplos acima irão imprimir:

3

Veja Também


DateTime
PHP Manual