note that giving a week out of range will produce a date for a different year
example:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2026, 53);
echo $newDate->format('Y-m-d') . "\n";
// will print "2026-12-28" (2026 has 53 weeks)
$newDate = $date->setISODate(2026, 54);
echo $newDate->format('Y-m-d') . "\n";
// will print 2027-01-04 which is the 1st week of 2027
?>DateTimeImmutable::setISODate
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
DateTimeImmutable::setISODate
Референца за `datetimeimmutable.setisodate.php` со подобрена типографија и навигација.
DateTimeImmutable::setISODate
Распакување на вгнездени низи
DateTimeImmutable::setISODate — Го поставува ISO датумот
= NULL
public DateTimeImmutable::setISODate(int
$year, int $week, int $dayOfWeek = 1): DateTimeImmutableВраќа нов DateTimeImmutable објект со датумот поставен според стандардот ISO 8601 - користејќи недели и дневни офсети наместо специфични датуми.
Параметри
year-
Година на датумот.
week-
Недела на датумот.
dayOfWeek-
Офсет од првиот ден од неделата.
Вратени вредности
параметарот специфицира само излезна кодировка. Ако се помине празен стринг, парсерот се обидува да идентификува во која кодировка е документот кодиран со гледање на првите 3 или 4 бајти. Стандардната излезна кодировка е UTF-8. Поддржаните кодировки се DateTimeImmutable објект со изменетите податоци.
Примери
Пример #1 Поставете датум според стандардот ISO 8601 - користејќи недели и дневни офсети наместо специфични датуми. example
Напиши целосна ознака на елемент
<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 2);
echo $newDate->format('Y-m-d') . "\n";
$newDate = $date->setISODate(2008, 2, 7);
echo $newDate->format('Y-m-d') . "\n";Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2008-01-07 2008-01-13
Процедурален стил
<?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";Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2008-01-07 2008-01-13
Пример #2 Вредностите што ги надминуваат опсезите се додаваат на нивните родителски вредности
<?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";Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
2008-01-13 2008-01-14 2009-01-04
Пример #3 Наоѓање на месецот во кој е една недела
<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo $newDate->format('n');Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
3
Види Исто така
- DateTimeImmutable::setDate() - Поставува датум
- DateTimeImmutable::setTime() - Го поставува времето