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. Bei einem Fehler wird false zurückgegeben.

Beispiele

Beispiel #1 DateTimeImmutable::setISODate()-Beispiel

Objektorientierter Stil

<?php
$date 
= new DateTimeImmutable();

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

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

Prozeduraler Stil

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

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

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(200814);
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