DateTimeImmutable::setISODate

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

DateTimeImmutable::setISODateУстанавливает дату в формате ISO

Описание

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

Возвращает новый объект DateTimeImmutable с датой, установленной в соответствии со стандартом ISO 8601 - с использованием смещения недель и дней, а не конкретных дат.

Список параметров

year

Год даты.

week

Неделя даты.

dayOfWeek

Смещение от первого дня недели.

Возвращаемые значения

Возвращает новый объект DateTimeImmutable с модифицированными данными или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTimeImmutable::setISODate()

Объектно-ориентированный стиль

<?php
$date 
= new DateTimeImmutable();

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

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

Процедурный стиль

<?php
$date 
date_create();

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

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

Результат выполнения данных примеров:

2008-01-07
2008-01-13

Пример #2 Значения, выходящие за пределы диапазона, добавляются к своим родительским значениям

<?php
$date 
= new DateTimeImmutable();

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

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

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

Результат выполнения данного примера:

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

Пример #3 Поиск месяца, в котором находится неделя

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

Результат выполнения данных примеров:

3

Смотрите также

add a note add a note

User Contributed Notes

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