DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setISODate -- date_isodate_setSets the ISO date

Beschreibung

Objektorientierter Stil

public DateTime::setISODate ( int $year , int $week [, int $day = 1 ] ) : DateTime

Prozeduraler Stil

date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] ) : DateTime

Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Parameter-Liste

object

Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.

year

Year of the date.

week

Week of the date.

day

Offset from the first day of the week.

Rückgabewerte

Gibt das DateTime-Objekt für die Verkettung von Methoden zurück Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
5.3.0Der Rückgabewert bei Erfolg wurde von NULL auf DateTime geändert.

Beispiele

Beispiel #1 DateTime::setISODate() example

Objektorientierter Stil

<?php
$date 
= new DateTime();

$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 Values exceeding ranges are added to their parent values

<?php
$date 
= new DateTime();

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

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

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Beispiel #3 Finding the month a week is in

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

Die obigen Bespiele erzeugen folgende Ausgabe:

3

Siehe auch