DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setISODate -- date_isodate_setEstablece la fecha ISO

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Establece una fecha según el estándar ISO 8601, empleando índices de semanas y días en vez de fechas específicas.

Parámetros

object

Solamente para el estilo por procedimientos: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.

year

Año de la fecha.

week

Semana de la fecha.

day

Índice del primer día de la semana.

Valores devueltos

Devuelve el objeto DateTime para la cadena de métodos o FALSE en caso de error.

Historial de cambios

Versión Descripción
5.3.0Se ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::setISODate()

Estilo orientado a objetos

<?php
$fecha 
= new DateTime();

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

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

Estilo por procedimientos

<?php
$fecha 
date_create();

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

date_isodate_set($fecha200827);
echo 
date_format($fecha'Y-m-d') . "\n";
?>

El resultado de los ejemplos sería:

2008-01-07
2008-01-13

Ejemplo #2 Los valores que execen rangos son añadidos a sus valores padre

<?php
$fecha 
= new DateTime();

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

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

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

El resultado del ejemplo sería:

2008-01-13
2008-01-14
2009-01-04

Ejemplo #3 Buscar el mes en el que se encuentra una semana

<?php
$fecha 
= new DateTime();
$fecha->setISODate(200814);
echo 
$fecha->format('n');
?>

El resultado de los ejemplos sería:

3

Ver también