CakeFest 2024: The Official CakePHP Conference

DateTimeImmutable::setISODate

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

DateTimeImmutable::setISODateDefine a data ISO

Descrição

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

Retorna um novo objeto DateTimeImmutable com a data configurada de acordo com o padrão ISO 8601 - usa semanas e deslocamentos de dias no lugar de datas específicas.

Parâmetros

year

Year of the date.

week

Week of the date.

dayOfWeek

Offset from the first day of the week.

Valor Retornado

Retorna um novo objeto DateTimeImmutable com os dados modificados.

Exemplos

Exemplo #1 Exemplo da função 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 procedural

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

Os exemplos acima produzirão:

2008-01-07
2008-01-13

Exemplo #2 Valores que excedem os limites são adicionados a seus valores pai.

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

O exemplo acima produzirá:

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

Exemplo #3 Para encontrar o mês no qual uma semana se localiza

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

Os exemplos acima produzirão:

3

Veja Também

add a note

User Contributed Notes

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