(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::setISODate -- date_isodate_set — Establece la fecha ISO
Estilo orientado a objetos
Estilo por procedimientos
Establece una fecha según el estándar ISO 8601, empleando índices de semanas y días en vez de fechas específicas.
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.
Devuelve el objeto DateTime para la cadena de métodos o false
en caso de error.
Versión | Descripción |
---|---|
5.3.0 | Se ha cambiado el
valor devuelto en caso de éxito de null a DateTime. |
Ejemplo #1 Ejemplo de DateTime::setISODate()
Estilo orientado a objetos
<?php
$fecha = new DateTime();
$fecha->setISODate(2008, 2);
echo $fecha->format('Y-m-d') . "\n";
$fecha->setISODate(2008, 2, 7);
echo $fecha->format('Y-m-d') . "\n";
?>
Estilo por procedimientos
<?php
$fecha = date_create();
date_isodate_set($fecha, 2008, 2);
echo date_format($fecha, 'Y-m-d') . "\n";
date_isodate_set($fecha, 2008, 2, 7);
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(2008, 2, 7);
echo $fecha->format('Y-m-d') . "\n";
$fecha->setISODate(2008, 2, 8);
echo $fecha->format('Y-m-d') . "\n";
$fecha->setISODate(2008, 53, 7);
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(2008, 14);
echo $fecha->format('n');
?>
El resultado de los ejemplos sería:
3