# DateInterval::format

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

DateInterval::format — Formatiert ein Intervall

### Beschreibung

public DateInterval::format(string `$format`): string

Formatiert ein Intervall.

### Parameter-Liste

`format`

  Die folgenden Zeichen werden in der Zeichenkette des Parameters `format` erkannt. Jedem Formatzeichen muss ein Prozentzeichen (`%`) vorangestellt werden.
  `format`-Zeichen | Beschreibung | Beispielwerte
  --- | --- | ---
  `%` | `%`-Zeichen | `%`
  `Y` | Jahre, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`
  `y` | Jahre, numerisch | `1`, `3`
  `M` | Monate, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`, `12`
  `m` | Monate, numerisch | `1`, `3`, `12`
  `D` | Tage, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`, `31`
  `d` | Tage, numerisch | `1`, `3`, `31`
  `a` | Gesamtzahl der Tage als Ergebnis von DateTime::diff(), andernfalls `(unknown)` | `4`, `18`, `8123`
  `H` | Stunden, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`, `23`
  `h` | Stunden, numerisch | `1`, `3`, `23`
  `I` | Minuten, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`, `59`
  `i` | Minuten, numerisch | `1`, `3`, `59`
  `S` | Sekunden, numerisch, mindestens 2 Ziffern mit vorangestellter 0 | `01`, `03`, `57`
  `s` | Sekunden, numerisch | `1`, `3`, `57`
  `F` | Mikrosekunden, numerisch, mindestens 6 Ziffern mit vorangestellter 0 | `007701`, `052738`, `428291`
  `f` | Mikrosekunden, numerisch | `7701`, `52738`, `428291`
  `R` | Vorzeichen "`-`" wenn negativ, "`+`" wenn positiv | `-`, `+`
  `r` | Vorzeichen "`-`" wenn negativ, leer wenn positiv | `-`, ``

### Rückgabewerte

Gibt ein formatiertes Intervall zurück.

### Changelog

Version | Beschreibung
--- | ---
7.2.12 | Die Formate `F` und `f` sind nun immer positiv.
7.1.0 | Die Formatzeichen `F` und `f` wurden hinzugefügt.

### Beispiele

Beispiel #1 DateInterval-Beispiel

`<?php
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d Tage');`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    4 Tage

Beispiel #2 DateInterval und Überträge

`<?php
$interval = new DateInterval('P32D');
echo $interval->format('%d Tage');`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    32 Tage

Beispiel #3 DateInterval und DateTime::diff() mit den Modifikatoren %a und %d

`<?php
$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);
// %a gibt die Gesamtzahl der Tage aus.
echo $interval->format('%a Tage insgesamt')."\n";
// Während %d nur die Anzahl der Tage ausgibt, die noch nicht durch den
// Monat abgedeckt sind.
echo $interval->format('%m Monat, %d Tage)');`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    31 Tage insgesamt
    1 Monat, 0 Tage

### Anmerkungen

> Hinweis:

> Die Methode DateInterval::format() berechnet die Zeiteinheiten nicht neu und überträgt sie nicht, wenn die Datumswerte überlaufen. Dies ist beabsichtigt, weil es nicht möglich ist, Werte wie `"32 days"` zu übertragen, die als alles von `"1 month and 4 days"` bis `"1 month and 1 day"` interpretiert werden könnten.

### Siehe auch

- DateTime::diff() - Liefert die Differenz zwischen zwei DateTime-Objekten

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open