PHP 8.4.1 Released!

DateTimeImmutable::setISODate

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

DateTimeImmutable::setISODateLegt das ISO-Datum fest

Beschreibung

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

Gibt ein neues DateTimeImmutable-Objekt zurück, bei dem das Datum gemäß dem ISO 8601-Standard gesetzt wurde, d. h. mit Wochen- und Tagesoffsets statt mit konkreten Daten.

Parameter-Liste

year

Das Jahr des Datums

week

Die Woche des Datums

dayOfWeek

Der Abstand zum ersten Tag der Woche

Rückgabewerte

Gibt ein neues DateTimeImmutable-Objekt mit den geänderten Daten zurück.

Beispiele

Beispiel #1 DateTimeImmutable::setISODate()-Beispiel

Objektorientierter Stil

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

Prozeduraler Stil

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

Die obigen Bespiele erzeugen folgende Ausgabe:

2008-01-07
2008-01-13

Beispiel #2 Werte, die einen Bereich überschreiten, werden zu ihren übergeordneten Werten hinzugefügt

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Beispiel #3 Ermitteln des Monats, in dem eine Woche liegt

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

Die obigen Bespiele erzeugen folgende Ausgabe:

3

Siehe auch

add a note

User Contributed Notes

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