DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setISODateEstablece la fecha ISO

Descripción

public DateTimeImmutable::setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable

Devuelve un nuevo objeto DateTimeImmutable con la fecha establecida de acuerdo al estándar ISO 8601 - usando semanas y desplazamientos de días en lugar de fechas específicas.

Parámetros

year

Año de la fecha.

week

Semana de la fecha.

dayOfWeek

Desplazamiento desde el primer día de la semana.

Valores devueltos

Returns a new DateTimeImmutable object with the modified data.

Ejemplos

Ejemplo #1 Ejemplo de DateTimeImmutable::setISODate()

Estilo orientado a objetos

<?php
$date
= new DateTimeImmutable();

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

$date->setISODate(2008, 2, 7);
echo
$date->format('Y-m-d') . "\n";
?>

Estilo por procedimientos

<?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";
?>

El resultado de los ejemplos sería:

2008-01-07
2008-01-13

Ejemplo #2 Valores que exceden los rangos se añaden a sus valores padres

<?php
$date
= new DateTimeImmutable();

$newDate = $date->setISODate(2008, 2, 7);
echo
$newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 2, 8);
echo
$newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 53, 7);
echo
$newDate->format('Y-m-d') . "\n";
?>

El resultado del ejemplo sería:

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

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

<?php
$date
= new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo
$newDate->format('n');
?>

El resultado de los ejemplos sería:

3

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top