PHP 8.4.1 Released!

DateTimeImmutable::setISODate

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

DateTimeImmutable::setISODateSets the ISO date

Опис

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

Returns a new DateTimeImmutable object with the date set according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Параметри

year

Year of the date.

week

Week of the date.

dayOfWeek

Offset from the first day of the week.

Значення, що повертаються

Повертає новий об'єкт DateTimeImmutable зі зміненими даними.

Приклади

Приклад #1 DateTimeImmutable::setISODate() example

Об'єктно-орієнтований стиль

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

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

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

Подані вище приклади виведуть:

2008-01-07
2008-01-13

Приклад #2 Values exceeding ranges are added to their parent values

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

Поданий вище приклад виведе:

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

Приклад #3 Finding the month a week is in

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

Подані вище приклади виведуть:

3

Прогляньте також

add a note

User Contributed Notes

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