<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.datetime.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'datetime.formats.php',
    1 => 'Unterst&uuml;tzte Datums- und Zeitformate',
    2 => 'Unterst&uuml;tzte Datums- und Zeitformate',
  ),
  'up' => 
  array (
    0 => 'book.datetime.php',
    1 => 'Datum/Uhrzeit',
  ),
  'prev' => 
  array (
    0 => 'datetime.error.tree.php',
    1 => 'Fehler und Exceptions bei Datum/Uhrzeit',
  ),
  'next' => 
  array (
    0 => 'timezones.php',
    1 => 'Liste unterst&uuml;tzter Zeitzonen',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/datetime/formats.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="datetime.formats" class="chapter">
 <h1 class="title">Unterstützte Datums- und Zeitformate</h1>


 <p class="para">
  Dieser Abschnitt beschreibt alle verschiedenen Formate in einem
  BNF-ähnlichen Format, das der Parser von
  <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>, <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>,
  <span class="function"><a href="function.date-create-immutable.php" class="function">date_create_immutable()</a></span>,
  <span class="function"><a href="function.date-create.php" class="function">date_create()</a></span>, <span class="function"><a href="function.date-parse.php" class="function">date_parse()</a></span> und
  <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> versteht. Die Formate sind in Abschnitte
  gegliedert. In den meisten Fällen können Formate aus verschiedenen
  Abschnitten durch Leerzeichen, Komma oder Punkt getrennt in derselben
  Zeichenkette für Datum und Uhrzeit verwendet werden. Für jedes der
  unterstützten Formate werden ein oder mehrere Beispiele sowie eine
  Beschreibung des Formats angegeben. Bei Formatzeichen in einfachen
  Anführungszeichen wird nicht zwischen Groß- und Kleinschreibung
  unterschieden (<code class="literal">&#039;t&#039;</code> könnte <code class="literal">t</code> oder
  <code class="literal">T</code> sein), bei Zeichen in doppelten Anführungszeichen wird
  zwischen Groß- und Kleinschreibung unterschieden (<code class="literal">&quot;T&quot;</code> ist
  nur <code class="literal">T</code>).
 </p>
 <p class="para">
  Die Formatierung von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>- und
  <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>-Objekten wird in der Dokumentation zur
  Methode <span class="function"><a href="datetime.format.php" class="function">DateTimeInterface::format()</a></span> beschrieben.
 </p>

 <p class="para">
  Es sollten ein paar allgemeine Regeln beachtet werden.
 </p>
 <ol type="1">
  <li class="listitem">
   <span class="simpara">
    Der Parser erlaubt für jede Einheit (Jahr, Monat, Tag, Stunde, Minute,
    Sekunde) die gesamte Bandbreite an Werten. Für ein Jahr sind das einfach 4
    Ziffern, für einen Monat ist es 0-12, für einen Tag 0-31, für Stunden 0-24
    und für Minuten 0-59.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Weil es Datumsangaben gibt, die eine Schaltsekunde enthalten, ist bei
    Sekunden die 60 erlaubt. PHP implementiert jedoch die Unix-Zeit, bei der
    &quot;60&quot; keine gültige Sekundenzahl ist, sodass es zu einem Überlauf kommt.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Wenn eine Zahl außerhalb des zulässigen Bereichs liegt, gibt
    <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück, und
    <span class="function"><a href="datetimeimmutable.construct.php" class="function">DateTimeImmutable::__construct()</a></span> löst eine Ausnahme aus.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Wenn eine Zeichenkette ein Datum enthält, werden alle Zeitelemente auf 0
    zurückgesetzt.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Wenn irgendein Teil einer Zeit in der angegebenen Zeichenkette vorhanden
    ist, werden alle kleineren Zeitelemente auf 0 zurückgesetzt.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Um den Parser schneller (und universeller) zu machen, führt er keinerlei
    Prüfungen durch.
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Neben den Regeln für einzelne Zeitelemente versteht der Parser auch
    spezifischere <a href="datetime.formats.php#datetime.formats.compound" class="link">zusammengesetzte
    Formate</a>, so kann er z. B. Unix-Zeitstempel
    (<code class="literal">@1690388256</code>) und ISO-Wochentage
    (<code class="literal">2008-W28-3</code>) auswerten.
   </span>
  </li>
  <li class="listitem">
   <p class="para">
    Es gibt eine Möglichkeit, zu prüfen, ob ein ungültiges Datum oder eine
    ungültige Uhrzeit angegeben wurde:
    <div class="informalexample">
     <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$res </span><span style="color: #007700">= </span><span style="color: #0000BB">date_parse</span><span style="color: #007700">(</span><span style="color: #DD0000">"2015-09-31"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #DD0000">"warnings"</span><span style="color: #007700">]);</span></span></code></div>
     </div>

     <p class="para">Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p>
     <div class="example-contents screen">
<div class="annotation-interactive cdata"><pre>
array(1) {
  [11] =&gt;
  string(27) &quot;The parsed date was invalid&quot;
}
</pre></div>
     </div>
    </div>
   </p>
  </li>
  <li class="listitem">
   <p class="para">
    Es ist bereits möglich, die Grenzfälle zu berücksichtigen, aber dafür muss
    <span class="function"><a href="datetimeimmutable.createfromformat.php" class="function">DateTimeImmutable::createFromFormat()</a></span> mit dem korrekten
    Format verwendet werden.
    <div class="informalexample">
     <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$res </span><span style="color: #007700">= </span><span style="color: #0000BB">DateTimeImmutable</span><span style="color: #007700">::</span><span style="color: #0000BB">createFromFormat</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y-m-d"</span><span style="color: #007700">, </span><span style="color: #DD0000">"2015-09-34"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);</span></span></code></div>
     </div>

     <p class="para">Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p>
     <div class="example-contents screen">
<div class="annotation-interactive cdata"><pre>
object(DateTimeImmutable)#1 (3) {
  [&quot;date&quot;]=&gt;
  string(26) &quot;2015-10-04 17:24:43.000000&quot;
  [&quot;timezone_type&quot;]=&gt;
  int(3)
  [&quot;timezone&quot;]=&gt;
  string(13) &quot;Europe/London&quot;
}
</pre></div>
     </div>
    </div>
   </p>
  </li>
 </ol>

 
 <div id="datetime.formats.time" class="sect1">
  <h2 class="title">Zeitformate</h2>

  <p class="para">
   Diese Seite beschreibt die verschiedenen Zeitformate in einem BNF-ähnlichen
   Format, das der Parser von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>,
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>, <span class="function"><a href="function.date-create.php" class="function">date_create()</a></span>,
   <span class="function"><a href="function.date-create-immutable.php" class="function">date_create_immutable()</a></span> und
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> versteht.
  </p>
  <p class="para">
   Die Formatierung von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>- und
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>-Objekten wird in der Dokumentation zur
   Methode <span class="function"><a href="datetime.format.php" class="function">DateTimeInterface::format()</a></span> beschrieben.
  </p>

  <table class="doctable table">
   <caption><strong>Verwendete Symbole</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Formate</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">frac</code> (Bruchteil)</td>
      <td>. [0-9]+</td>
      <td>&quot;.21342&quot;, &quot;.85&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">hh</code> (Stunden im 12-Stunden-Format)</td>
      <td>&quot;0&quot;?[1-9] | &quot;1&quot;[0-2]</td>
      <td>&quot;04&quot;, &quot;7&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">HH</code> (Stunden im 24-Stunden-Format)</td>
      <td>[01][0-9] | &quot;2&quot;[0-4]</td>
      <td>&quot;04&quot;, &quot;07&quot;, &quot;19&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">meridian</code> (a.m.=vormittags oder p.m.=nachmittags)</td>
      <td>[AaPp] .? [Mm] .? [\0\t ]</td>
      <td>&quot;A.m.&quot;, &quot;pM&quot;, &quot;am.&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">MM</code> (Minuten; mit vorangestellter Null)</td>
      <td>[0-5][0-9]</td>
      <td>&quot;00&quot;, &quot;12&quot;, &quot;59&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">II</code> (Sekunden; mit vorangestellter Null)</td>
      <td>[0-5][0-9]</td>
      <td>&quot;00&quot;, &quot;12&quot;, &quot;59&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">space</code> (Leer- und Tabulatorzeichen)</td>
      <td>[ \t]</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">tz</code> (Zeitzone)</td>
      <td>&quot;(&quot;? [A-Za-z]{1,6} &quot;)&quot;? | [A-Z][a-z]+([_/][A-Z][a-z]+)+</td>
      <td>&quot;CEST&quot;, &quot;Europe/Amsterdam&quot;, &quot;America/Indiana/Knox&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">tzcorrection</code> (Zeitverschiebung)</td>
      <td>&quot;GMT&quot;? [+-] <code class="literal">hh</code> &quot;:&quot;? <code class="literal">MM</code>?</td>
      <td>&quot;+0400&quot;, &quot;GMT-07:00&quot;, &quot;-07:00&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>12-Stunden-Schreibweise</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Nur die Stunde mit Meridian</td>
      <td><code class="literal">hh</code> <code class="literal">space</code>? <code class="literal">meridian</code></td>
      <td>&quot;4 am&quot;, &quot;5PM&quot;</td>
     </tr>

     <tr>
      <td>Stunde und Minuten; mit Meridian</td>
      <td><code class="literal">hh</code> [.:] <code class="literal">MM</code> <code class="literal">space</code>? <code class="literal">meridian</code></td>
      <td>&quot;4:08 am&quot;, &quot;7:19P.M.&quot;</td>
     </tr>

     <tr>
      <td>Stunde, Minuten und Sekunden; mit Meridian</td>
      <td><code class="literal">hh</code> [.:] <code class="literal">MM</code> [.:] <code class="literal">II</code> <code class="literal">space</code>? <code class="literal">meridian</code></td>
      <td>&quot;4:08:37 am&quot;, &quot;7:19:19P.M.&quot;</td>
     </tr>

     <tr>
      <td>MS SQL (Stunde, Minuten, Sekunden und Bruchteil; mit Meridian)</td>
      <td><code class="literal">hh</code> &quot;:&quot; <code class="literal">MM</code> &quot;:&quot; <code class="literal">II</code> [.:] [0-9]+ <code class="literal">meridian</code></td>
      <td>&quot;4:08:39:12313am&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>24-Stunden-Schreibweise</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Stunde und Minuten</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> [.:] <code class="literal">MM</code></td>
      <td>&quot;04:08&quot;, &quot;19.19&quot;, &quot;T23:43&quot;</td>
     </tr>

     <tr>
      <td>Stunde und Minuten; ohne Doppelpunkt</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> <code class="literal">MM</code></td>
      <td>&quot;0408&quot;, &quot;t1919&quot;, &quot;T2343&quot;</td>
     </tr>

     <tr>
      <td>Stunde, Minuten und Sekunden</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> [.:] <code class="literal">MM</code> [.:] <code class="literal">II</code></td>
      <td>&quot;04.08.37&quot;, &quot;t19:19:19&quot;</td>
     </tr>

     <tr>
      <td>Stunde, Minuten und Sekunden; ohne Doppelpunkt</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> <code class="literal">MM</code> <code class="literal">II</code></td>
      <td>&quot;040837&quot;, &quot;T191919&quot;</td>
     </tr>

     <tr>
      <td>Stunde, Minuten, Sekunden und Zeitzone</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> [.:] <code class="literal">MM</code> [.:] <code class="literal">II</code> <code class="literal">space</code>? ( <code class="literal">tzcorrection</code> | <code class="literal">tz</code> )</td>
      <td>&quot;040837CEST&quot;, &quot;T191919-0700&quot;</td>
     </tr>

     <tr>
      <td>Stunde, Minuten, Sekunden und Bruchteil</td>
      <td>&#039;t&#039;? <code class="literal">HH</code> [.:] <code class="literal">MM</code> [.:] <code class="literal">II</code> <code class="literal">frac</code></td>
      <td>&quot;04.08.37.81412&quot;, &quot;19:19:19.532453&quot;</td>
     </tr>

     <tr>
      <td>Informationen über die Zeitzone</td>
      <td><code class="literal">tz</code> | <code class="literal">tzcorrection</code></td>
      <td>&quot;CEST&quot;, &quot;Europe/Amsterdam&quot;, &quot;+0430&quot;, &quot;GMT-06:00&quot;</td>
     </tr>

    </tbody>
   
  </table>

 </div>
 

 
 <div id="datetime.formats.date" class="sect1">
  <h2 class="title">Datumsformate</h2>

  <p class="para">
   Diese Seite beschreibt die verschiedenen Datumsformate in einem
   BNF-ähnlichen Format, das der Parser von
   <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>, <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>,
   <span class="function"><a href="function.date-create.php" class="function">date_create()</a></span>,
   <span class="function"><a href="function.date-create-immutable.php" class="function">date_create_immutable()</a></span> und
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> versteht.
  </p>
  <p class="para">
   Die Formatierung von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>- und
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>-Objekten wird in der Dokumentation zur
   Methode <span class="function"><a href="datetime.format.php" class="function">DateTimeInterface::format()</a></span> beschrieben.
  </p>

  <table class="doctable table">
   <caption><strong>Verwendete Symbole</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">daysuf</code> (Suffix für einen Tag des Monats)</td>
      <td>&quot;st&quot; | &quot;nd&quot; | &quot;rd&quot; | &quot;th&quot;</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">dd</code> (Tag des Monats; ohne vorangestellte Null)</td>
      <td>([0-2]?[0-9] | &quot;3&quot;[01]) <code class="literal">daysuf</code>?</td>
      <td>&quot;7th&quot;, &quot;22nd&quot;, &quot;31&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">DD</code> (Tag des Monats; zwei Ziffern mit vorangestellter Null)</td>
      <td>&quot;0&quot; [0-9] | [1-2][0-9] | &quot;3&quot; [01]</td>
      <td>&quot;07&quot;, &quot;31&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">m</code> (vollständiger oder abgekürzter Monatsname)</td>
      <td>&#039;january&#039; | &#039;february&#039; | &#039;march&#039; | &#039;april&#039; | &#039;may&#039; | &#039;june&#039; |
       &#039;july&#039; | &#039;august&#039; | &#039;september&#039; | &#039;october&#039; | &#039;november&#039; | &#039;december&#039; |
       &#039;jan&#039; | &#039;feb&#039; | &#039;mar&#039; | &#039;apr&#039; | &#039;may&#039; | &#039;jun&#039; | &#039;jul&#039; | &#039;aug&#039; | &#039;sep&#039; |
       &#039;sept&#039; | &#039;oct&#039; | &#039;nov&#039; | &#039;dec&#039; | &quot;I&quot; | &quot;II&quot; | &quot;III&quot; | &quot;IV&quot; | &quot;V&quot; | &quot;VI&quot;
       | &quot;VII&quot; | &quot;VIII&quot; | &quot;IX&quot; | &quot;X&quot; | &quot;XI&quot; | &quot;XII&quot;</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">M</code> (Monatskürzel)</td>
      <td>&#039;jan&#039; | &#039;feb&#039; | &#039;mar&#039; | &#039;apr&#039; | &#039;may&#039; | &#039;jun&#039; | &#039;jul&#039; | &#039;aug&#039; |
       &#039;sep&#039; | &#039;sept&#039; | &#039;oct&#039; | &#039;nov&#039; | &#039;dec&#039;</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">mm</code> (Nummer des Monats)</td>
      <td>&quot;0&quot;? [0-9] | &quot;1&quot;[0-2]</td>
      <td>&quot;0&quot;, &quot;04&quot;, &quot;7&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">MM</code> (Nummer des Monats; mit vorangestellter Null)</td>
      <td>&quot;0&quot; [0-9] | &quot;1&quot;[0-2]</td>
      <td>&quot;00&quot;, &quot;04&quot;, &quot;07&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">y</code> (Jahr)</td>
      <td>[0-9]{1,4}</td>
      <td>&quot;00&quot;, &quot;78&quot;, &quot;08&quot;, &quot;8&quot;, &quot;2008&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">yy</code> (Jahr; zwei Ziffern)</td>
      <td>[0-9]{2}</td>
      <td>&quot;00&quot;, &quot;08&quot;, &quot;78&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">YY</code> (Jahr; vier Ziffern)</td>
      <td>[0-9]{4}</td>
      <td>&quot;2000&quot;, &quot;2008&quot;, &quot;1978&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">YYY</code> (Jahr; erweitert, 5-19 Ziffern)</td>
      <td>[0-9]{5,19}</td>
      <td>&quot;81412&quot;, &quot;20192&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>Lokalisierte Schreibweisen</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Monat und Tag; amerikanische Schreibweise</td>
      <td><code class="literal">mm</code> &quot;/&quot; <code class="literal">dd</code></td>
      <td>&quot;5/12&quot;, &quot;10/27&quot;</td>
     </tr>

     <tr>
      <td>Monat, Tag und Jahr; amerikanische Schreibweise</td>
      <td><code class="literal">mm</code> &quot;/&quot; <code class="literal">dd</code> &quot;/&quot; <code class="literal">y</code></td>
      <td>&quot;12/22/78&quot;, &quot;1/17/2006&quot;, &quot;1/17/6&quot;</td>
     </tr>

     <tr>
      <td>Jahr (vier Ziffern), Monat und Tag; getrennt durch Schrägstriche</td>
      <td><code class="literal">YY</code> &quot;/&quot; <code class="literal">mm</code> &quot;/&quot; <code class="literal">dd</code></td>
      <td>&quot;2008/6/30&quot;, &quot;1978/12/22&quot;</td>
     </tr>

     <tr>
      <td>Jahr (vier Ziffern) und Monat (GNU)</td>
      <td><code class="literal">YY</code> &quot;-&quot; <code class="literal">mm</code></td>
      <td>&quot;2008-6&quot;, &quot;2008-06&quot;, &quot;1978-12&quot;</td>
     </tr>

     <tr>
      <td>Jahr, Monat und Tag; getrennt durch Bindestriche</td>
      <td><code class="literal">y</code> &quot;-&quot; <code class="literal">mm</code> &quot;-&quot; <code class="literal">dd</code></td>
      <td>&quot;2008-6-30&quot;, &quot;78-12-22&quot;, &quot;8-6-21&quot;</td>
     </tr>

     <tr>
      <td>Tag, Monat und Jahr (vier Ziffern); getrennt durch Punkte, Tabulatorzeichen oder Bindestriche</td>
      <td><code class="literal">dd</code> [.\t-] <code class="literal">mm</code> [.-] <code class="literal">YY</code></td>
      <td>&quot;30-6-2008&quot;, &quot;22.12.1978&quot;</td>
     </tr>

     <tr>
      <td>Tag, Monat und Jahr (zwei Ziffern); getrennt durch Punkte oder Tabulatorzeichen</td>
      <td><code class="literal">dd</code> [.\t] <code class="literal">mm</code> &quot;.&quot; <code class="literal">yy</code></td>
      <td>&quot;30.6.08&quot;, &quot;22\t12.78&quot;</td>
     </tr>

     <tr>
      <td>Tag, Monat (textuell) und Jahr</td>
      <td><code class="literal">dd</code> ([ \t.-])* <code class="literal">m</code> ([ \t.-])* <code class="literal">y</code></td>
      <td>&quot;30-June 2008&quot;, &quot;22DEC78&quot;, &quot;14 III 1879&quot;</td>
     </tr>

     <tr>
      <td>Monat (textuell) und Jahr (vier Ziffern); der Tag wird auf den 1. zurückgesetzt</td>
      <td><code class="literal">m</code> ([ \t.-])* <code class="literal">YY</code></td>
      <td>&quot;June 2008&quot;, &quot;DEC1978&quot;, &quot;March 1879&quot;</td>
     </tr>

     <tr>
      <td>Jahr (vier Ziffern) und Monat (textuell); der Tag wird auf den 1. zurückgesetzt</td>
      <td><code class="literal">YY</code> ([ \t.-])* <code class="literal">m</code></td>
      <td>&quot;2008 June&quot;, &quot;1978-XII&quot;, &quot;1879.MArCH&quot;</td>
     </tr>

     <tr>
      <td>Monat (textuell), Tag und Jahr</td>
      <td><code class="literal">m</code> ([ .\t-])* <code class="literal">dd</code> [,.stndrh\t ]+ <code class="literal">y</code></td>
      <td>&quot;July 1st, 2008&quot;, &quot;April 17, 1790&quot;, &quot;May.9,78&quot;</td>
     </tr>

     <tr>
      <td>Monat (textuell) und Tag</td>
      <td><code class="literal">m</code> ([ .\t-])* <code class="literal">dd</code> [,.stndrh\t ]*</td>
      <td>&quot;July 1st,&quot;, &quot;Apr 17&quot;, &quot;May.9&quot;</td>
     </tr>

     <tr>
      <td>Tag und Monat (textuell)</td>
      <td><code class="literal">dd</code> ([ .\t-])* <code class="literal">m</code></td>
      <td>&quot;1 July&quot;, &quot;17 Apr&quot;, &quot;9.May&quot;</td>
     </tr>

     <tr>
      <td>Monatskürzel, Tag und Jahr</td>
      <td><code class="literal">M</code> &quot;-&quot; <code class="literal">DD</code> &quot;-&quot; <code class="literal">y</code></td>
      <td>&quot;May-09-78&quot;, &quot;Apr-17-1790&quot;</td>
     </tr>

     <tr>
      <td>Jahr, Monatskürzel und Tag</td>
      <td><code class="literal">y</code> &quot;-&quot; <code class="literal">M</code> &quot;-&quot; <code class="literal">DD</code></td>
      <td>&quot;78-Dec-22&quot;, &quot;1814-MAY-17&quot;</td>
     </tr>

     <tr>
      <td>Jahr (und zwar nur das Jahr)</td>
      <td><code class="literal">YY</code></td>
      <td>&quot;1978&quot;, &quot;2008&quot;</td>
     </tr>

     <tr>
      <td>Jahr (erweitert; 5-19 Ziffern mit Vorzeichen)</td>
      <td>[+-] <code class="literal">YYY</code></td>
      <td>&quot;-81120&quot;, &quot;+20192&quot;</td>
     </tr>

     <tr>
      <td>Monat (textuell) (und zwar nur der Monat)</td>
      <td><code class="literal">m</code></td>
      <td>&quot;March&quot;, &quot;jun&quot;, &quot;DEC&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>Schreibweisen nach ISO8601</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Acht Ziffern für Jahr, Monat und Tag</td>
      <td><code class="literal">YY</code> <code class="literal">MM</code> <code class="literal">DD</code></td>
      <td>&quot;15810726&quot;, &quot;19780417&quot;, &quot;18140517&quot;</td>
     </tr>

     <tr>
      <td>Jahr (vier Ziffern), Monat und Tag; getrennt durch Schrägstriche</td>
      <td><code class="literal">YY</code> &quot;/&quot; <code class="literal">MM</code> &quot;/&quot; <code class="literal">DD</code></td>
      <td>&quot;2008/06/30&quot;, &quot;1978/12/22&quot;</td>
     </tr>

     <tr>
      <td>Jahr (zwei Ziffern), Monat und Tag; getrennt durch Schrägstriche</td>
      <td><code class="literal">yy</code> &quot;-&quot; <code class="literal">MM</code> &quot;-&quot; <code class="literal">DD</code></td>
      <td>&quot;08-06-30&quot;, &quot;78-12-22&quot;</td>
     </tr>

     <tr>
      <td>Jahr (vier Ziffern, optional mit Vorzeichen), Monat und Tag</td>
      <td>[+-]? <code class="literal">YY</code> &quot;-&quot; <code class="literal">MM</code> &quot;-&quot; <code class="literal">DD</code></td>
      <td>&quot;-0002-07-26&quot;, &quot;+1978-04-17&quot;, &quot;1814-05-17&quot;</td>
     </tr>

     <tr>
      <td>Jahr (5+ Ziffern mit erforderlichem Vorzeichen), Monat und Tag</td>
      <td>[+-] <code class="literal">YYY</code> &quot;-&quot; <code class="literal">MM</code> &quot;-&quot; <code class="literal">DD</code></td>
      <td>&quot;-81120-02-26&quot;, &quot;+20192-04-17&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Bei den Formaten <code class="literal">y</code> und <code class="literal">yy</code> werden
    Jahreszahlen unter 100 auf besondere Weise behandelt. Liegt die Jahreszahl
    im Bereich 0-69 (einschließlich), wird 2000 addiert, liegt sie im Bereich
    70-99 (einschließlich), wird 1900 addiert. Das bedeutet, dass &quot;00-01-01&quot;
    als &quot;2000-01-01&quot; interpretiert wird.
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Das Format &quot;Tag, Monat und Jahr (zwei Ziffern); getrennt durch Punkte oder
    Tabulatorzeichen&quot; (<code class="literal">dd</code> [.\t] <code class="literal">mm</code> &quot;. &quot;
    <code class="literal">yy</code>) funktioniert nur für Jahre im Bereich 61-99
    (einschließlich). Außerhalb dieses Bereichs hat das
    <em>Zeitformat</em> &quot;<code class="literal">HH</code> [.:]
    <code class="literal">MM</code> [.:] <code class="literal">SS</code>&quot; Vorrang.
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Das Format &quot;Jahr (und zwar nur das Jahr)&quot; funktioniert nur dann
    zuverlässig, wenn die Zeitangabe bereits gefunden wurde. Andernfalls, wenn
    das vierstellige Jahr als <code class="literal">HH</code> <code class="literal">MM</code>
    interpretiert werden kann, werden stattdessen diese beiden
    Datumselemente gesetzt.
   </p>
   <p class="para">
    Damit konsistent nur ein Jahreswert interpretiert wird, sollte
    <span class="function"><a href="datetimeimmutable.createfromformat.php" class="function">DateTimeImmutable::createFromFormat()</a></span> mit dem
    Spezifizierer <code class="literal">Y</code> verwendet werden.
   </p>
  </p></blockquote>

  <div class="caution"><strong class="caution">Achtung</strong>
   <p class="para">
    Es ist möglich, die Formate <code class="literal">dd</code> und
    <code class="literal">DD</code> zu über- oder unterschreiten. Dabei bezeichnet der
    Tag 0 den letzten Tag des vorherigen Monats, während eine Überschreitung
    zum nächsten Monat gezählt wird. Somit entspricht &quot;2008-08-00&quot; dem
    &quot;2008-07-31&quot; und &quot;2008-06-31&quot; dem &quot;2008-07-01&quot; (der Juni hat nur 30 Tage).
   </p>
   <p class="para">
    Wie aus dem obigen regulären Ausdruck hervorgeht, ist der Wertebereich für
    den Tag auf 0-31 beschränkt. So ist z. B. &quot;2008-06-32&quot; keine gültige
    Datumsangabe.
   </p>
   <p class="para">
    Es ist auch möglich, die Formate <code class="literal">mm</code> und
    <code class="literal">MM</code> mit dem Wert 0 zu unterschreiten. Dabei steht der
    Monat 0 für den Dezember des Vorjahres. Zum Beispiel ist &quot;2008-00-22&quot;
    gleichbedeutend mit &quot;2007-12-22&quot;.
   </p>
   <p class="para">
    Wenn die beiden vorherigen Fälle kombiniert werden und sowohl der Tag als
    auch der Monat unterlaufen werden, geschieht Folgendes: &quot;2008-00-00&quot; wird
    zunächst in &quot;2007-12-00&quot; umgewandelt, das dann in &quot;2007-11-30&quot; umgewandelt
    wird. Dies geschieht auch mit der Zeichenkette &quot;0000-00-00&quot;, die in
    &quot;-0001-11-30&quot; umgewandelt wird (das Jahr -1 im ISO 8601-Kalender, das dem
    Jahr 2 vor Christus im proleptischen gregorianischen Kalender entspricht).
   </p>
  </div>
 </div>
 

 
 <div id="datetime.formats.compound" class="sect1">
  <h2 class="title">Zusammengesetzte Formate</h2>

  <p class="para">
   Diese Seite beschreibt die verschiedenen zusammengesetzten
   Datums- und Zeitformate in einem BNF-ähnlichen Format, das der Parser von
   <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>, <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>,
   <span class="function"><a href="function.date-create.php" class="function">date_create()</a></span>,
   <span class="function"><a href="function.date-create-immutable.php" class="function">date_create_immutable()</a></span> und
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> versteht.
  </p>
  <p class="para">
   Die Formatierung von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>- und
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>-Objekten wird in der Dokumentation zur
   Methode <span class="function"><a href="datetime.format.php" class="function">DateTimeInterface::format()</a></span> beschrieben.
  </p>

  <table class="doctable table">
   <caption><strong>Verwendete Symbole</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Formate</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">DD</code> (Tag des Monats; zwei Ziffern mit vorangestellter Null)</td>
      <td>&quot;0&quot; [0-9] | [1-2][0-9] | &quot;3&quot; [01]</td>
      <td>&quot;02&quot;, &quot;12&quot;, &quot;31&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">doy</code> (Tag des Jahres; drei Ziffern)</td>
      <td>&quot;00&quot;[1-9] | &quot;0&quot;[1-9][0-9] | [1-2][0-9][0-9] | &quot;3&quot;[0-5][0-9] | &quot;36&quot;[0-6]</td>
      <td>&quot;001&quot;, &quot;012&quot;, &quot;180&quot;, &quot;350&quot;, &quot;366&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">frac</code> (Bruchteil)</td>
      <td>. [0-9]+</td>
      <td>&quot;.21342&quot;, &quot;.85&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">hh</code> (Stunden im 12-Stunden-Format)</td>
      <td>&quot;0&quot;?[1-9] | &quot;1&quot;[0-2]</td>
      <td>&quot;04&quot;, &quot;7&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">HH</code> (Stunden im 24-Stunden-Format)</td>
      <td>[01][0-9] | &quot;2&quot;[0-4]</td>
      <td>&quot;04&quot;, &quot;07&quot;, &quot;19&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">meridian</code> (a.m.=vormittags oder p.m.=nachmittags)</td>
      <td>[AaPp] .? [Mm] .? [\0\t ]</td>
      <td>&quot;A.m.&quot;, &quot;pM&quot;, &quot;am.&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">ii</code> (Minuten)</td>
      <td>[0-5]?[0-9]</td>
      <td>&quot;04&quot;, &quot;8&quot;, &quot;59&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">II</code> (Minuten; mit vorangestellter Null)</td>
      <td>[0-5][0-9]</td>
      <td>&quot;04&quot;, &quot;08&quot;, &quot;59&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">M</code> (Monatskürzel)</td>
      <td>&#039;jan&#039; | &#039;feb&#039; | &#039;mar&#039; | &#039;apr&#039; | &#039;may&#039; | &#039;jun&#039; | &#039;jul&#039; | &#039;aug&#039; | &#039;sep&#039; | &#039;sept&#039; | &#039;oct&#039; | &#039;nov&#039; | &#039;dec&#039;</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">MM</code> (Nummer des Monats; mit vorangestellter Null)</td>
      <td>[0-1][0-9]</td>
      <td>&quot;00&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">space</code> (Leer- und Tabulatorzeichen)</td>
      <td>[ \t]</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">ss</code> (Sekunden)</td>
      <td>([0-5]?[0-9])|60</td>
      <td>&quot;04&quot;, &quot;8&quot;, &quot;59&quot;, &quot;60&quot; (Schaltsekunde)</td>
     </tr>

     <tr>
      <td><code class="literal">SS</code> (Sekunden; mit vorangestellter Null)</td>
      <td>[0-5][0-9]</td>
      <td>&quot;04&quot;, &quot;08&quot;, &quot;59&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">W</code> (Woche des Jahres)</td>
      <td>&quot;0&quot;[1-9] | [1-4][0-9] | &quot;5&quot;[0-3]</td>
      <td>&quot;05&quot;, &quot;17&quot;, &quot;53&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">tzcorrection</code> (Zeitverschiebung)</td>
      <td>&quot;GMT&quot;? [+-] <code class="literal">hh</code> &quot;:&quot;? <code class="literal">II</code>?</td>
      <td>&quot;+0400&quot;, &quot;GMT-07:00&quot;, &quot;-07:00&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">YY</code> (Jahr; vier Ziffern)</td>
      <td>[0-9]{4}</td>
      <td>&quot;2000&quot;, &quot;2008&quot;, &quot;1978&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>Standardformate</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>ATOM</td>
      <td>&quot;2022-06-02T16:58:35+00:00&quot;</td>
     </tr>

     <tr>
      <td>COOKIE</td>
      <td>&quot;Thursday, 02-Jun-2022 16:58:35 UTC&quot;</td>
     </tr>

     <tr>
      <td>ISO8601</td>
      <td>&quot;2022-06-02T16:58:35+0000&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc822" class="link external">&raquo;&nbsp;RFC 822</a></td>
      <td>&quot;Thu, 02 Jun 22 16:58:35 +0000&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc850" class="link external">&raquo;&nbsp;RFC 850</a></td>
      <td>&quot;Thursday, 02-Jun-22 16:58:35 UTC&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc1036" class="link external">&raquo;&nbsp;RFC 1036</a></td>
      <td>&quot;Thu, 02 Jun 22 16:58:35 +0000&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc1123" class="link external">&raquo;&nbsp;RFC 1123</a></td>
      <td>&quot;Thu, 02 Jun 2022 16:58:35 +0000&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc2822" class="link external">&raquo;&nbsp;RFC 2822</a></td>
      <td>&quot;Thu, 02 Jun 2022 16:58:35 +0000&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc3339" class="link external">&raquo;&nbsp;RFC 3339</a></td>
      <td>&quot;2022-06-02T16:58:35+00:00&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc3339" class="link external">&raquo;&nbsp;RFC 3339</a> Erweitert</td>
      <td>&quot;2022-06-02T16:58:35.698+00:00&quot;</td>
     </tr>

     <tr>
      <td><a href="https://datatracker.ietf.org/doc/html/rfc7231" class="link external">&raquo;&nbsp;RFC 7231</a></td>
      <td>&quot;Thu, 02 Jun 2022 16:58:35 GMT&quot;</td>
     </tr>

     <tr>
      <td>RSS</td>
      <td>&quot;Thu, 02 Jun 2022 16:58:35 +0000&quot;</td>
     </tr>

     <tr>
      <td>W3C</td>
      <td>&quot;2022-06-02T16:58:35+00:00&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>Lokalisierte Schreibweisen</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Gebräuchliches Protokollformat</td>
      <td><code class="literal">dd</code> &quot;/&quot; <code class="literal">M</code> &quot;/&quot; <code class="literal">YY</code> : <code class="literal">HH</code> &quot;:&quot; <code class="literal">II</code> &quot;:&quot; <code class="literal">SS</code> <code class="literal">space</code> <code class="literal">tzcorrection</code></td>
      <td>&quot;10/Oct/2000:13:55:36 -0700&quot;</td>
     </tr>

     <tr>
      <td>EXIF</td>
      <td><code class="literal">YY</code> &quot;:&quot; <code class="literal">MM</code> &quot;:&quot; <code class="literal">DD</code> &quot; &quot; <code class="literal">HH</code> &quot;:&quot; <code class="literal">II</code> &quot;:&quot; <code class="literal">SS</code></td>
      <td>&quot;2008:08:07 18:11:31&quot;</td>
     </tr>

     <tr>
      <td>ISO-Jahr mit ISO-Woche</td>
      <td><code class="literal">YY</code> &quot;-&quot;? &quot;W&quot; <code class="literal">W</code></td>
      <td>&quot;2008W27&quot;, &quot;2008-W28&quot;</td>
     </tr>

     <tr>
      <td>ISO-Jahr mit ISO-Woche und -Tag</td>
      <td><code class="literal">YY</code> &quot;-&quot;? &quot;W&quot; <code class="literal">W</code> &quot;-&quot;? [0-7]</td>
      <td>&quot;2008W273&quot;, &quot;2008-W28-3&quot;</td>
     </tr>

     <tr>
      <td>MySQL</td>
      <td><code class="literal">YY</code> &quot;-&quot; <code class="literal">MM</code> &quot;-&quot; <code class="literal">DD</code> &quot; &quot; <code class="literal">HH</code> &quot;:&quot; <code class="literal">II</code> &quot;:&quot; <code class="literal">SS</code></td>
      <td>&quot;2008-08-07 18:11:31&quot;</td>
     </tr>

     <tr>
      <td>PostgreSQL: Jahr mit Tag des Jahres</td>
      <td><code class="literal">YY</code> &quot;.&quot;? <code class="literal">doy</code></td>
      <td>&quot;2008.197&quot;, &quot;2008197&quot;</td>
     </tr>

     <tr>
      <td>SOAP</td>
      <td><code class="literal">YY</code> &quot;-&quot; <code class="literal">MM</code> &quot;-&quot; <code class="literal">DD</code> &quot;T&quot; <code class="literal">HH</code> &quot;:&quot; <code class="literal">II</code> &quot;:&quot; <code class="literal">SS</code> <code class="literal">frac</code> <code class="literal">tzcorrection</code>?</td>
      <td>&quot;2008-07-01T22:35:17.02&quot;, &quot;2008-07-01T22:35:17.03+08:00&quot;</td>
     </tr>

     <tr>
      <td>Unix-Zeitstempel</td>
      <td>&quot;@&quot; &quot;-&quot;? [0-9]+</td>
      <td>&quot;@1215282385&quot;</td>
     </tr>

     <tr>
      <td>Unix-Zeitstempel mit Mikrosekunden</td>
      <td>&quot;@&quot; &quot;-&quot;? [0-9]+ &quot;.&quot; [0-9]{0,6}</td>
      <td>&quot;@1607974647.503686&quot;</td>
     </tr>

     <tr>
      <td>XMLRPC</td>
      <td><code class="literal">YY</code> <code class="literal">MM</code> <code class="literal">DD</code> &quot;T&quot; <code class="literal">hh</code> &quot;:&quot; <code class="literal">II</code> &quot;:&quot; <code class="literal">SS</code></td>
      <td>&quot;20080701T22:38:07&quot;, &quot;20080701T9:38:07&quot;</td>
     </tr>

     <tr>
      <td>XMLRPC (kompakt)</td>
      <td><code class="literal">YY</code> <code class="literal">MM</code> <code class="literal">DD</code> &#039;t&#039; <code class="literal">hh</code> <code class="literal">II</code> <code class="literal">SS</code></td>
      <td>&quot;20080701t223807&quot;, &quot;20080701T093807&quot;</td>
     </tr>

     <tr>
      <td>WDDX</td>
      <td><code class="literal">YY</code> &quot;-&quot; <code class="literal">mm</code> &quot;-&quot; <code class="literal">dd</code> &quot;T&quot; <code class="literal">hh</code> &quot;:&quot; <code class="literal">ii</code> &quot;:&quot; <code class="literal">ss</code></td>
      <td>&quot;2008-7-1T9:3:37&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Beim &quot;W&quot; in den Formaten &quot;ISO-Jahr mit ISO-Woche&quot; und &quot;ISO-Jahr mit
    ISO-Woche und -Tag&quot; wird zwischen Groß- und Kleinschreibung unterschieden,
    d. h. es darf nur ein großes &quot;W&quot; verwendet werden.
   </p>
   <p class="para">
    Beim &quot;T&quot; in den Formaten SOAP, XMLRPC und WDDX wird zwischen Groß- und
    Kleinschreibung unterschieden, d. h. es darf nur ein großes &quot;T&quot; verwendet
    werden.
   </p>
   <p class="para">
    Das Format &quot;Unix-Zeitstempel&quot; setzt die Zeitzone auf UTC.
   </p>
  </p></blockquote>
 </div>
 

 
 <div id="datetime.formats.relative" class="sect1">
  <h2 class="title">Relative Formate</h2>
  <p class="para">
   Diese Seite beschreibt die verschiedenen relativen Datums- und Zeitformate
   in einem BNF-ähnlichen Format, das der Parser von
   <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>,
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>, <span class="function"><a href="function.date-create.php" class="function">date_create()</a></span>,
   <span class="function"><a href="function.date-create-immutable.php" class="function">date_create_immutable()</a></span> und
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> versteht.
  </p>
  <p class="para">
   Die Formatierung von <span class="classname"><a href="class.datetimeimmutable.php" class="classname">DateTimeImmutable</a></span>- und
   <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span>-Objekten wird in der Dokumentation zur
   Methode <span class="function"><a href="datetime.format.php" class="function">DateTimeInterface::format()</a></span> beschrieben.
  </p>

  <table class="doctable table">
   <caption><strong>Verwendete Symbole</strong></caption>
   
    <thead>
     <tr>
      <th>Beschreibung</th>
      <th>Format</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">dayname</code> (Name eines Tages)</td>
      <td>&#039;sunday&#039; | &#039;monday&#039; | &#039;tuesday&#039; | &#039;wednesday&#039; | &#039;thursday&#039; |
       &#039;friday&#039; | &#039;saturday&#039; | &#039;sun&#039; | &#039;mon&#039; | &#039;tue&#039; | &#039;wed&#039; | &#039;thu&#039; | &#039;fri&#039; |
       &#039;sat&#039;</td>
     </tr>

     <tr>
      <td><code class="literal">daytext</code> (Intervalle in Wochen)</td>
      <td>&#039;weekday&#039; | &#039;weekdays&#039;</td>
     </tr>

     <tr>
      <td><code class="literal">number</code></td>
      <td>[+-]?[0-9]+</td>
     </tr>

     <tr>
      <td><code class="literal">ordinal</code> (Ordnungszahlen und Indizes)</td>
      <td>&#039;first&#039; | &#039;second&#039; | &#039;third&#039; | &#039;fourth&#039; | &#039;fifth&#039; | &#039;sixth&#039; |
       &#039;seventh&#039; | &#039;eighth&#039; | &#039;ninth&#039; | &#039;tenth&#039; | &#039;eleventh&#039; | &#039;twelfth&#039; |
       &#039;next&#039; | &#039;last&#039; | &#039;previous&#039; | &#039;this&#039;</td>
     </tr>

     <tr>
      <td><code class="literal">reltext</code> (Zeiger)</td>
      <td>&#039;next&#039; | &#039;last&#039; | &#039;previous&#039; | &#039;this&#039;</td>
     </tr>

     <tr>
      <td><code class="literal">space</code> (Leer- und Tabulatorzeichen)</td>
      <td>[ \t]+</td>
     </tr>

     <tr>
      <td><code class="literal">unit</code> (Intervalle)</td>
      <td>&#039;ms&#039; | &#039;µs&#039; | (( &#039;msec&#039; | &#039;millisecond&#039; | &#039;µsec&#039; | &#039;microsecond&#039;
      | &#039;usec&#039; | &#039;sec&#039; | &#039;second&#039; | &#039;min&#039; | &#039;minute&#039; | &#039;hour&#039; | &#039;day&#039; |
      &#039;fortnight&#039; | &#039;forthnight&#039; | &#039;month&#039; | &#039;year&#039;) &#039;s&#039;?) | &#039;weeks&#039; |
      <code class="literal">daytext</code></td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>Tagesbezogene Schreibweisen</strong></caption>
   
    <thead>
     <tr>
      <th>Format</th>
      <th>Beschreibung</th>
      <th>Beispiele</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>&#039;yesterday&#039;</td>
      <td>Mitternacht von gestern</td>
      <td>&quot;yesterday 14:00&quot;</td>
     </tr>

     <tr>
      <td>&#039;midnight&#039;</td>
      <td>Die Zeit wird auf 00:00:00 gesetzt</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;today&#039;</td>
      <td>Die Zeit wird auf 00:00:00 gesetzt</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;now&#039;</td>
      <td>Jetzt - dies wird einfach ignoriert</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;noon&#039;</td>
      <td>Die Zeit wird auf 12:00:00 gesetzt</td>
      <td>&quot;yesterday noon&quot;</td>
     </tr>

     <tr>
      <td>&#039;tomorrow&#039;</td>
      <td>Mitternacht von morgen</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;back of&#039; <code class="literal">hour</code></td>
      <td>15 Minuten nach der angegebenen Stunde</td>
      <td>&quot;back of 7pm&quot;, &quot;back of 15&quot;</td>
     </tr>

     <tr>
      <td>&#039;front of&#039; <code class="literal">hour</code></td>
      <td>15 Minuten vor der angegebenen Stunde</td>
      <td>&quot;front of 5am&quot;, &quot;front of 23&quot;</td>
     </tr>

     <tr>
      <td>&#039;first day of&#039;</td>
      <td>
       Wird auf den ersten Tag des aktuellen Monats gesetzt. Da dies nur den
       aktuellen Monat betrifft, ist es in der Regel am besten, dieses Format
       gefolgt vom Namen des Monats zu verwenden.
      </td>
      <td>&quot;first day of January 2008&quot;</td>
     </tr>

     <tr>
      <td>&#039;last day of&#039;</td>
      <td>
       Wird auf den letzten Tag des aktuellen Monats gesetzt. Da dies nur den
       aktuellen Monat betrifft, ist es in der Regel am besten, dieses Format
       gefolgt vom Namen des Monats zu verwenden.
      </td>
      <td>&quot;last day of next month&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">ordinal</code> <code class="literal">space</code> <code class="literal">dayname</code> <code class="literal">space</code> &#039;of&#039;</td>
      <td>
       Berechnet den <code class="literal">x</code>-ten Wochentag des aktuellen Monats.
      </td>
      <td>&quot;first sat of July 2008&quot;</td>
     </tr>

     <tr>
      <td>&#039;last&#039; <code class="literal">space</code> <code class="literal">dayname</code> <code class="literal">space</code> &#039;of&#039;</td>
      <td>
       Berechnet den <em>letzten</em> Wochentag des aktuellen Monats.
      </td>
      <td>&quot;last sat of July 2008&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">number</code> <code class="literal">space</code>? (<code class="literal">unit</code> | &#039;week&#039;)</td>
      <td>Verarbeitet relative Zeitelemente, deren Wert eine Zahl ist.</td>
      <td>&quot;+5 weeks&quot;, &quot;12 day&quot;, &quot;-7 weekdays&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">ordinal</code> <code class="literal">space</code> <code class="literal">unit</code></td>
      <td>
       Verarbeitet relative Zeitelemente, deren Wert ein Text ist.
       <code class="literal">last</code> und <code class="literal">previous</code> entsprechen
       <code class="literal">-1</code>, <code class="literal">this</code> entspricht nichts, und
       <code class="literal">next</code> entspricht <code class="literal">+1</code>.
      </td>
      <td>&quot;fifth day&quot;, &quot;second month&quot;, &quot;last day&quot;, &quot;previous year&quot;</td>
     </tr>

     <tr>
      <td>&#039;ago&#039;</td>
      <td>Kehrt alle Werte der zuvor gefundenen relativen Zeitpunkte um.</td>
      <td>&quot;2 days ago&quot;, &quot;8 days ago 14:00&quot;, &quot;2 months 5 days ago&quot;, &quot;2 months ago 5 days&quot;, &quot;2 days ago&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">dayname</code></td>
      <td>
       Springt zum nächsten Tag mit diesem Namen (siehe
       <a href="datetime.formats.php#datetime.formats.relative.dayname-note" class="link">Hinweis</a>).
      </td>
      <td>&quot;Monday&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">reltext</code> <code class="literal">space</code> &#039;week&#039;</td>
      <td>
       Verarbeitet das spezielle Format &quot;Wochentag + letzte/diese/nächste Woche&quot;.
      </td>
      <td>&quot;Monday next week&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Relative Angaben werden immer <em>nach</em> nicht-relativen
    Angaben verarbeitet. Das bedeutet, dass &quot;+1 week july 2008&quot; und
    &quot;july 2008 +1 week&quot; gleichwertig sind.
   </p>
   <p class="para">
    Ausnahmen von dieser Regel sind: &quot;yesterday&quot;, &quot;midnight&quot;, &quot;today&quot;, &quot;noon&quot;
    und &quot;tomorrow&quot;. Zu beachten ist, dass sich &quot;tomorrow 11:00&quot; und
    &quot;11:00 tomorrow&quot; unterscheiden. Angenommen, das heutige Datum ist
    &quot;23. Juli 2008&quot;, dann gibt die erste Variante &quot;2008-07-24 11:00&quot; zurück,
    während die zweite Variante &quot;2008-07-24 00:00&quot; zurückgibt. Der Grund für
    dieses Verhalten ist, dass sich diese fünf Ausdrücke direkt auf die
    aktuelle Zeit auswirken.
   </p>
   <p class="para">
    Schlüsselwörter wie &quot;first day of&quot; hängen vom Zusammenhang ab, in dem die
    relative Formatierung verwendet wird. Wenn sie in einer statischen Methode
    oder Funktion verwendet wird, ist der Referenzpunkt der aktuelle
    Zeitstempel des Systems. Wenn sie jedoch in
    <span class="function"><a href="datetime.modify.php" class="function">DateTime::modify()</a></span> oder
    <span class="function"><a href="datetimeimmutable.modify.php" class="function">DateTimeImmutable::modify()</a></span> verwendet wird, bezieht sie
    sich auf das Objekt, für das die Methode <code class="literal">modify()</code>
    aufgerufen wird.
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para" id="datetime.formats.relative.dayname-note">
    Wenn der in der Zeichenkette für Datum und Uhrzeit verwendete Wochentag
    mit dem aktuellen Wochentag übereinstimmt, sind die folgenden Hinweise zu
    beachten. Der aktuelle Wochentag kann auch aus nicht-relativen Teilen
    der Zeichenkette (neu) berechnet worden sein.
   </p>
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">dayname</code>&quot; rückt <em>nicht</em> auf einen
      anderen Tag vor (Beispiel: &quot;Wed July 23rd, 2008&quot; bedeutet &quot;2008-07-23&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">number</code> <code class="literal">dayname</code>&quot; rückt
      <em>nicht</em> auf einen anderen Tag vor (Beispiel: &quot;1
      wednesday july 23rd, 2008&quot; bedeutet &quot;2008-07-23&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">number</code> week <code class="literal">dayname</code>&quot; fügt
      zuerst die Anzahl der Wochen hinzu, rückt aber
      <em>nicht</em> auf einen anderen Tag vor. In diesem Fall
      sind &quot;<code class="literal">number</code> week&quot; und &quot;<code class="literal">dayname</code>&quot;
      zwei getrennte Blöcke (Beispiel: &quot;+1 week wednesday july 23rd, 2008&quot;
      bedeutet &quot;2008-07-30&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code>&quot;
      <em>rückt</em> auf einen anderen Tag vor (Beispiel &quot;first
      wednesday july 23rd, 2008&quot; bedeutet &quot;2008-07-30&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">number</code> week <code class="literal">ordinal</code>
      <code class="literal">dayname</code>&quot; fügt zuerst die Anzahl der Wochen hinzu und
      rückt <em>dann</em> auf einen anderen Tag vor. In diesem
      Fall sind &quot;<code class="literal">number</code> week&quot; und
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code>&quot; zwei getrennte
      Blöcke (Beispiel: &quot;+1 week first wednesday july 23rd, 2008&quot; bedeutet
      &quot;2008-08-06&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code> &#039;of&#039; &quot; rückt
      <em>nicht</em> auf einen anderen Tag vor (Beispiel:
      &quot;first wednesday of july 23rd, 2008&quot; bedeutet &quot;2008-07-02&quot;, weil die
      spezifische Formulierung mit &#039;of&#039; den Tag des Monats auf &#039;1&#039;
      zurücksetzt und das &quot;23rd&quot; hier ignoriert wird).
     </span>
    </li>
   </ol>
   <p class="para">
    Zu beachten ist auch, dass das &quot;of&quot; in &quot;<code class="literal">ordinal</code>
    <code class="literal">space</code> <code class="literal">dayname</code>
    <code class="literal">space</code> &#039;of&#039; &quot; und &quot;&#039;last&#039; <code class="literal">space</code>
    <code class="literal">dayname</code> <code class="literal">space</code> &#039;of&#039; &quot; etwas
    Besonderes bewirkt.
   </p>
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      Es setzt den Tag des Monats auf 1.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code> &#039;of&#039; &quot; rückt
      <em>nicht</em> auf einen anderen Tag vor (Beispiel: &quot;first
      tuesday of july 2008&quot; bedeutet &quot;2008-07-01&quot;).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code> &quot; rückt
      <em>nicht</em> auf einen anderen Tag vor (Beispiel: &quot;first
      tuesday july 2008&quot; bedeutet &quot;2008-07-08&quot;, siehe auch Punkt 4 in obiger
      Liste).
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;&#039;last&#039; <code class="literal">dayname</code> &#039;of&#039; &quot; gibt den letzten
      <code class="literal">dayname</code> des aktuellen Monats zurück (Beispiel: &quot;last
      wed of july 2008&quot; bedeutet &quot;2008-07-30&quot;)
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;&#039;last&#039; <code class="literal">dayname</code>&quot; gibt den letzten
      <code class="literal">dayname</code> vor dem aktuellen Tag zurück (Beispiel: &quot;last
      wed july 2008&quot; bedeutet &quot;2008-06-25&quot;; &quot;july 2008&quot; setzt zuerst das
      aktuelle Datum auf &quot;2008-07-01&quot; und mit &quot;last wed&quot; verschiebt sich das
      Datum auf den vorherigen Mittwoch, d. h. auf den &quot;2008-06-25&quot;).
     </span>
    </li>
   </ol>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Relative Monatswerte werden auf der Grundlage der Länge der Monate
    berechnet, die sie durchlaufen. Ein Beispiel wäre &quot;+2 month 2011-11-30&quot;,
    was &quot;2012-01-30&quot; ergeben würde. Das liegt daran, dass der November 30 Tage
    hat und der Dezember 31 Tage, was insgesamt 61 Tage ergibt.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    <code class="literal">number</code> ist eine <em>ganzzahlige</em> Zahl;
    wenn eine Dezimalzahl angegeben wird, wird der Punkt (oder das Komma) in
    der Regel als Begrenzungszeichen interpretiert. Zum Beispiel wird
    <code class="literal">&#039;+1.5 hours&#039;</code> als <code class="literal">&#039;+1 5 hours&#039;</code>
    interpretiert und nicht als <code class="literal">&#039;+1 hour +30 minutes&#039;</code>.
   </p>
  </p></blockquote>

  <div class="sect2">
   <h3 class="title">Changelog</h3>
   <p class="para">
    <table class="doctable informaltable">
     
      <thead>
       <tr>
        <th>Version</th>
        <th>Beschreibung</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td>8.4.0</td>
        <td>
         <code class="literal">number</code> akzeptiert nun wieder ein Pluszeichen
         gefolgt von einem Minuszeichen, z. B. <code class="literal">+-2</code> und andere
         Kombinationen von mehreren Zeichen.
        </td>
       </tr>

       <tr>
        <td>8.2.0</td>
        <td>
         <code class="literal">number</code> akzeptiert kein Pluszeichen gefolgt von
         einem Minuszeichen mehr, z. B. <code class="literal">+-2</code>.
        </td>
       </tr>

       <tr>
        <td>7.0.8</td>
        <td>
         Wochen beginnen immer am Montag. Bisher galt auch der Sonntag als
         Wochenbeginn.
        </td>
       </tr>

      </tbody>
     
    </table>

   </p>
  </div>
 </div>
 

</div>
<?php manual_footer($setup); ?>