DateTime
PHP Manual

DateTime::setISODate

(PHP 5 >= 5.2.0)

DateTime::setISODateEstablece la fecha ISO

Descripción

Estilo orientado a objetos

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

Estilo por procesos

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

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

Parámetros

object

Estilo por procesos solamente: 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 modificado DateTime o FALSE en caso de error.

Historial de cambios

Versión Descripción
5.3.0Se cambió el valor devuelto de NULL a DateTime.

Ejemplos

Example #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 procesos

<?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ían:

2008-01-07
2008-01-13

Example #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

Example #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ían:

3

Ver también


DateTime
PHP Manual