<?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 => 'ja',
  ),
  'this' => 
  array (
    0 => 'datetime.formats.php',
    1 => 'サポートする日付と時刻の書式',
    2 => 'サポートする日付と時刻の書式',
  ),
  'up' => 
  array (
    0 => 'book.datetime.php',
    1 => 'Date/Time',
  ),
  'prev' => 
  array (
    0 => 'datetime.error.tree.php',
    1 => '日付・時刻 に関するエラーと例外',
  ),
  'next' => 
  array (
    0 => 'timezones.php',
    1 => 'サポートされるタイムゾーンのリスト',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    '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">サポートする日付と時刻の書式</h1>


 <p class="para">
  この節では
  <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>
  および <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> が解釈可能な、全てのBNFライクな書式について説明します。
  これらの書式はセクションごとにグループ分けされています。
  たいていの場合、一つの日付・時刻文字列の中でホワイトスペース、
  コンマまたはドットで区切られた異なるセクションの書式を併用することができます。
  それぞれの書式について、説明と一緒に1個以上の例を示してあります。
  シングルクォートで囲まれたフォーマットは大文字小文字を区別しません。
  (<code class="literal">&#039;t&#039;</code> は <code class="literal">t</code> とも
  <code class="literal">T</code> とも書けます)。
  ダブルクォートで囲まれたフォーマットは大文字小文字を区別します。
  (<code class="literal">&quot;T&quot;</code> は <code class="literal">T</code> としか書けません)。
 </p>
 <p class="para">
  <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="datetime.format.php" class="function">DateTimeInterface::format()</a></span> のドキュメントを参照ください。
 </p>

 <p class="para">
  以下の一般的なルールを考慮すべきです。
 </p>
 <ol type="1">
  <li class="listitem">
   <span class="simpara">
    日付/時刻のパーサーは、
    個別の単位(年月日時分秒)ごとに許される値の範囲を持っています。
    年については4桁の数値、
    月については 0-12。
    日は 0-31、
    時 は 0-24。分は 0-59 の範囲を持ちます。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    秒に60を入れても構いません。
    なぜなら、うるう秒を含んだ日付の文字列が現れる場合があるからです。
    しかし、PHP は &quot;60&quot; を不正な秒として扱う UnixTime を実装しているため、
    60 を入れるとオーバーフローします。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    <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> を返します。
    <span class="function"><a href="datetimeimmutable.construct.php" class="function">DateTimeImmutable::__construct()</a></span>
    はその場合に例外をスローします。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    文字列が日付の場合、時刻に関する全ての要素は 0 にリセットされます。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    時刻の一部が指定された文字列に含まれている場合、
    重要でない時刻の要素は全て0にリセットされます。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    日付/時刻のパーサーはお馬鹿なので、
    高速にするためのチェックは行いません
    (そのため、より汎用的です)。
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    個別の時刻フォーマット以外にも、
    日付/時刻のパーサーは
    <a href="datetime.formats.php#datetime.formats.compound" class="link">複合的な書式</a>
    を理解します。たとえば Unixタイムスタンプ
    (<code class="literal">@1690388256</code>) や、ISO の週番号
    (<code class="literal">2008-W28-3</code>) などです。
   </span>
  </li>
  <li class="listitem">
   <p class="para">
    不正な日付を渡していないかどうかについて、追加のチェックが行われます:
    <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">上の例の出力は以下となります。</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">
    エッジケースも処理できます。
    ただ、処理するためには、
    <span class="function"><a href="datetimeimmutable.createfromformat.php" class="function">DateTimeImmutable::createFromFormat()</a></span>
    を使い、正しいフォーマットを指定する必要があります。
    <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">上の例の出力は以下となります。</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">時刻の書式</h2>

  <p class="para">
   このページでは、
   <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>, そして
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> のパーサーが理解する、
   BNFライクな時刻フォーマットを説明します。
  </p>
  <p class="para">
   <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="datetime.format.php" class="function">DateTimeInterface::format()</a></span> のドキュメントを参照ください。
  </p>

  <table class="doctable table">
   <caption><strong>シンボル一覧</strong></caption>
   
    <thead>
     <tr>
      <th>シンボル</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

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

     <tr>
      <td><code class="literal">hh</code></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></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></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></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></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></td>
      <td>[ \t]</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">tz</code></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></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時間制の表記</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>時、午前/午後</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>時、分、午前/午後</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>時、分、秒、午前/午後</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 (時、分、秒、端数、午前/午後)</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時間制の表記</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>時、分</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>時、分（コロンなし）</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>時、分、秒</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>時、分、秒（コロンなし）</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>時、分、秒、タイムゾーン</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>時、分、秒、端数</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>タイムゾーン</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">日付の書式</h2>
  
  <p class="para">
   このページでは、
   <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> および
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span>
   のパーサーが理解する、
   BNFライクな日付フォーマットを説明します。
  </p>
  <p class="para">
   <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="datetime.format.php" class="function">DateTimeInterface::format()</a></span> のドキュメントを参照ください。
  </p>

  <table class="doctable table">
   <caption><strong>シンボル一覧</strong></caption>
   
    <thead>
     <tr>
      <th>シンボル</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">daysuf</code></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></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></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></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></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></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></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></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></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></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></td>
      <td>[0-9]{5,19}</td>
      <td>&quot;81412&quot;, &quot;20192&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <table class="doctable table">
   <caption><strong>各国ごとの表記法</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>アメリカ式の月、日</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>アメリカ式の月、日、年</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>スラッシュで区切られた、4桁の年、月、日</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>4桁の年、月 (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>ハイフンで区切られた、年、月、日</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>ドットかタブかハイフンで区切られた、日、月、4桁の年</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>ドットかタブで区切られた、日、月、2桁の年</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>日、月の文字表記、年</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>月の文字表記、4桁の年 (日は1日にリセットされる)</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>4桁の年、月の文字表記 (日は1日にリセットされる)</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>月の文字表記、日、年</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>月の文字表記、日</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>日、月の文字表記</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>月の省略形、日、年</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>年、月の省略形、日</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>年 (年だけの指定)</td>
      <td><code class="literal">YY</code></td>
      <td>&quot;1978&quot;, &quot;2008&quot;</td>
     </tr>

     <tr>
      <td>年 (拡張表記、5-19 桁。符号付き)</td>
      <td>[+-] <code class="literal">YYY</code></td>
      <td>&quot;-81120&quot;, &quot;+20192&quot;</td>
     </tr>

     <tr>
      <td>月の文字表記 (月だけの指定)</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>ISO 8601 に準拠した表記法</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>年、月、日の8桁</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>スラッシュで区切られた、4桁の年、月、日</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>ハイフンで区切られた、2桁の年、月、日</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>符号つきまたは符号なしの4桁の年、月、日</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>符号が必須。5桁の年、月、日</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">注意</strong>: 
   <p class="para">
    シンボル <code class="literal">y</code> または <code class="literal">yy</code> を含む書式について、
    100未満の年は特別な扱いになります。年が0から69までの間だった場合、
    2000を足した数になります。
    また、年が70から99までの間だった場合、1900を足した数になります。
    つまり、&quot;00-01-01&quot; は &quot;2000-01-01&quot;
    と解釈されます。
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    書式「ドットかタブで区切られた、日、月、2桁の年」
    (<code class="literal">dd</code> [.\t] <code class="literal">mm</code> &quot;.&quot;
    <code class="literal">yy</code>) は年が61から99の間のときだけ機能します。
    この範囲外の年を与えた場合には <em>時刻の書式</em> の
    &quot;<code class="literal">HH</code> [.:] <code class="literal">MM</code> [.:] <code class="literal">SS</code>&quot; が優先されます。
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    書式「年 (年だけの指定)」は、時刻の指定が先に出現している場合のみ機能します。
    そうでない場合、指定された4桁が
    <code class="literal">HH</code> <code class="literal">MM</code>
    にマッチした場合にこれらふたつの日付要素が代わりに設定されます。
   </p>
   <p class="para">
    年だけの指定を一貫してパースしたい場合は、
    <code class="literal">Y</code> を指定して
    <span class="function"><a href="datetimeimmutable.createfromformat.php" class="function">DateTimeImmutable::createFromFormat()</a></span>
    を使ってください。
   </p>
  </p></blockquote>

  <div class="caution"><strong class="caution">警告</strong>
   <p class="para">
    シンボル <code class="literal">dd</code> と <code class="literal">DD</code> について、
    オーバーフローやアンダーフローすることができます。
    つまり、 0 日は先月の最終日の意味になりますし、
    オーバーフローすると翌月に繰り越しになります。
    このルールにより、&quot;2008-08-00&quot; は &quot;2008-07-31&quot; と同一になり、
    &quot;2008-06-31&quot; は &quot;2008-07-01&quot; と同一になります
    ( 6 月は 30 日までしかないので)。
   </p>
   <p class="para">
    「日」の範囲が 0 から 31 までに絞られていることに注意しましょう。
    先ほどの正規表現が示すとおりです。
    したがって、たとえば &quot;2008-06-32&quot; は日付文字列として妥当な形式ではなくなります。
   </p>
   <p class="para">
    また、シンボル <code class="literal">mm</code> と <code class="literal">MM</code> についても
    0 を用いてアンダーフローすることができます。
    0 月は前年の 12 月を意味します。
    たとえば &quot;2008-00-22&quot; は &quot;2007-12-22&quot; と同一です。
   </p>
   <p class="para">
    もしこれらを併用し、日も月もアンダーフローした場合は次のようになります。
    &quot;2008-00-00&quot; は、まず &quot;2007-12-00&quot; へと変換され、
    さらに &quot;2007-11-30&quot; へと変換されます。
    文字列 &quot;0000-00-00&quot; についても同様に &quot;-0001-11-30&quot; へと変形されます。
    (ISO 8601 における -1 年は、予測的グレゴリオ暦 (proleptic Gregorian calendar)
    で言うところの紀元前 2 年になります。)
   </p>
  </div>
 </div>
 

 
 <div id="datetime.formats.compound" class="sect1">
  <h2 class="title">複合的な書式</h2>

  <p class="para">
   このページでは、
   <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> および
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span>  のパーサーが理解する、
   BNFライクな日付/時刻 複合フォーマットを説明します。
  </p>
  <p class="para">
   <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="datetime.format.php" class="function">DateTimeInterface::format()</a></span> のドキュメントを参照ください。
  </p>

  <table class="doctable table">
   <caption><strong>シンボル一覧</strong></caption>
   
    <thead>
     <tr>
      <th>シンボル</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">DD</code></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></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></td>
      <td>. [0-9]+</td>
      <td>&quot;.21342&quot;, &quot;.85&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">hh</code></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></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></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></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></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></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></td>
      <td>[0-1][0-9]</td>
      <td>&quot;00&quot;, &quot;12&quot;</td>
     </tr>

     <tr>
      <td><code class="literal">space</code></td>
      <td>[ \t]</td>
      <td class="empty">&nbsp;</td>
     </tr>

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

     <tr>
      <td><code class="literal">SS</code></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></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></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></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>標準のフォーマット</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>例</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> Extended</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>ローカライズされた表記法</strong></caption>
   
    <thead>
     <tr>
      <th>説明</th>
      <th>書式</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>Common Log Format</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 の年、 ISO の週番号</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 の年、 ISO の週番号、 ISO の曜日番号</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: 年、日番号</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 タイムスタンプ</td>
      <td>&quot;@&quot; &quot;-&quot;? [0-9]+</td>
      <td>&quot;@1215282385&quot;</td>
     </tr>

     <tr>
      <td>マイクロ秒付きのUnix タイムスタンプ</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 (短縮形)</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">注意</strong>: 
   <p class="para">
    書式「 ISO の年、 ISO の週番号」と
    「 ISO の年、 ISO の週番号、 ISO の曜日番号」で使われている
    &quot;W&quot; は大文字小文字を区別します。大文字の &quot;W&quot; だけが利用できます。
   </p>
   <p class="para">
    「 SOAP 」、「 XMLRPC 」および「 WDDX 」の各書式中の
    &quot;T&quot; は大文字小文字を区別します。大文字の &quot;T&quot; だけが利用できます。
   </p>
   <p class="para">
    書式「 Unix タイムスタンプ 」は、タイムゾーンを UTC に設定します。
   </p>
   <p class="para">
    （訳注）書式「 Common Log Format 」は、 Apache ログにおける時刻の書式です。
   </p>
   <p class="para">
    （訳注）書式「 ISO の年、 ISO の週番号」と
    「 ISO の年、 ISO の週番号、 ISO の曜日番号」は、
    ISO 8601で規定されている表記法です。
    定義上、週が前年あるいは翌年に属すことがあるので注意してください。
    たとえば、 ISO 8601 の定義では
    2010 年の第 1 週は 1 月 3 日から 1 月 9 日までとなり、
    2010 年の 1 月 1 日と 1 月 2 日は 2009 年の第 53 週に属します。
   </p>
  </p></blockquote>
 </div>
 

 
 <div id="datetime.formats.relative" class="sect1">
  <h2 class="title">相対的な書式</h2>
  <p class="para">
   このページでは、
   <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>, そして
   <span class="function"><a href="function.strtotime.php" class="function">strtotime()</a></span> のパーサーが理解する、
   BNFライクな相対日付/時刻フォーマットを説明します。
  </p>
  <p class="para">
   <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="datetime.format.php" class="function">DateTimeInterface::format()</a></span> のドキュメントを参照ください。
  </p>

  <table class="doctable table">
   <caption><strong>シンボル一覧</strong></caption>
   
    <thead>
     <tr>
      <th>シンボル</th>
      <th>書式</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">dayname</code></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></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></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></td>
      <td>&#039;next&#039; | &#039;last&#039; | &#039;previous&#039; | &#039;this&#039;</td>
     </tr>

     <tr>
      <td><code class="literal">space</code></td>
      <td>[ \t]+</td>
     </tr>

     <tr>
      <td><code class="literal">unit</code></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>日付に基づいた表記</strong></caption>
   
    <thead>
     <tr>
      <th>書式</th>
      <th>説明</th>
      <th>例</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>&#039;yesterday&#039;</td>
      <td>昨日の00:00:00</td>
      <td>&quot;yesterday 14:00&quot;</td>
     </tr>

     <tr>
      <td>&#039;midnight&#039;</td>
      <td>時刻を00:00:00にします</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;today&#039;</td>
      <td>時刻を00:00:00にします</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;now&#039;</td>
      <td>今 - 単に無視されます</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;noon&#039;</td>
      <td>時刻を12:00:00にします</td>
      <td>&quot;yesterday noon&quot;</td>
     </tr>

     <tr>
      <td>&#039;tomorrow&#039;</td>
      <td>明日の00:00:00</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td>&#039;back of&#039; <code class="literal">hour</code></td>
      <td>指定された時の15分後</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分前</td>
      <td>&quot;front of 5am&quot;, &quot;front of 23&quot;</td>
     </tr>

     <tr>
      <td>&#039;first day of&#039;</td>
      <td>現在月の最初の日にします。
      これは、現在月にしか影響しないため、
      通常はこの書式に続けて月名を指定する使いかたが最適です。</td>
      <td>&quot;first day of January 2008&quot;</td>
     </tr>

     <tr>
      <td>&#039;last day of&#039;</td>
      <td>現在月の最後の日にします。
      これは、現在月にしか影響しないため、
      通常はこの書式に続けて月名を指定する使いかたが最適です。</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>現在月の<code class="literal">x</code>番目の曜日を計算します。</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>現在月の <em>最後の</em> 曜日を計算します。</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>値を数値で指定するような、相対的な時間指定を処理します。</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">reltext</code>) <code class="literal">space</code> <code class="literal">unit</code></td>
      <td>値を英単語で指定するような、相対的な時間指定を処理します。
      <code class="literal">last</code> と <code class="literal">previous</code> は、<code class="literal">-1</code> に等しく、<code class="literal">this</code> に等しいものはありません。そして <code class="literal">next</code> は <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>直前に指定された相対的な時間指定について、正負反転します。</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>現在からみて次にやってくる、指定された曜日にします。(<a href="datetime.formats.php#datetime.formats.relative.dayname-note" class="link">曜日指定についての注意</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>特別な書式 &quot;weekday + last/this/next week&quot; を処理します。</td>
      <td>&quot;Monday next week&quot;</td>
     </tr>

    </tbody>
   
  </table>


  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    相対的な記述は、相対的でない記述の <em>後で</em> 処理されます。
    このため、 &quot;+1 week july 2008&quot; と &quot;july 2008 +1 week&quot; とは同一になります。
   </p>
   <p class="para">
    ただし、 &quot;yesterday&quot;、 &quot;midnight&quot;、 &quot;today&quot;、 &quot;noon&quot; そして &quot;tomorrow&quot;
    はこのルールの例外です。
    つまり、 &quot;tomorrow 11:00&quot; と &quot;11:00 tomorrow&quot; は異なります。
    たとえば、今日が2008年7月23日だとしましょう。
    このときの1つ目の結果は &quot;2008-07-24 11:00&quot; ですが、
    2つ目の方は &quot;2008-07-24 00:00&quot; となります。
    このような結果になる理由は、
    これら5つの記述が現在時刻に直接影響するためです。
   </p>
   <p class="para">
    &quot;first day of&quot; のようなキーワードは、
    相対的な書式文字列が使われるコンテクストに依存します。
    static メソッドや関数で使われた場合、
    参照されるのは現在のタイムスタンプですが、
    <span class="function"><a href="datetime.modify.php" class="function">DateTime::modify()</a></span> や
    <span class="function"><a href="datetimeimmutable.modify.php" class="function">DateTimeImmutable::modify()</a></span>
    で使われた場合、参照されるのは <code class="literal">modify()</code>
    メソッドがコールされたオブジェクトです。
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para" id="datetime.formats.relative.dayname-note">
    日付/時刻文字列中の曜日指定が現在の曜日と同じ場合は、
    以下の点に注意してください。
    この場合、日付文字列中の曜日は、曜日を明示的に指定しなかった場合に
    日付文字列の相対的でない部分から計算される曜日と同一ではありますが、
    指定しなくても同じというわけではありません。
   </p>
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">dayname</code>&quot; は、 日付を進め <em>ません</em> 。
      (例: &quot;Wed July 23rd, 2008&quot; は &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; は、
      日付を進め<em>ません</em> 。
      (例: &quot;1 wednesday july 23rd, 2008&quot; は &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; は、
      指定された週を加算しますが、
      さらに日付を進めることは<em>しません</em>。
      この場合、&quot;<code class="literal">number</code> week&quot; と
      &quot;<code class="literal">dayname</code>&quot; は 2 つの別個のブロックとなります。
      (例: &quot;+1 week wednesday july 23rd, 2008&quot; は &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>ます</em>。
      (例: &quot;first wednesday july 23rd, 2008&quot; は &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; は、まず指定された週を加算し、
      それから日付を別の日まで<em>進めます</em>。
      この場合、 &quot;<code class="literal">number</code> week&quot; と
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code>&quot;
      は2つの別個のブロックとなります。
      (例: &quot;+1 week first wednesday july 23rd, 2008&quot; は &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;
      は日付を進め <em>ません</em> 。
      (例: &quot;first wednesday of july 23rd, 2008&quot; は &quot;2008-07-02&quot; の意味です。
      なぜなら、&#039;of&#039;を含む一連の語群 &#039;first wednesday of july&#039; が
      相対的な書式として処理されることで
      日付を同月の &#039;1&#039; 日にリセットしてしまい、&#039;23rd&#039; は無視されてしまうのです。)
     </span>
    </li>
   </ol>
   <p class="para">
    また、書式 &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; と &quot;&#039;last&#039; <code class="literal">space</code>
    <code class="literal">dayname</code> <code class="literal">space</code> &#039;of&#039; &quot;
    に含まれる &quot;of&quot; は少々特別扱いなので、注意してください。
   </p>
   <ol type="1">
    <li class="listitem">
     <span class="simpara">
      日付を指定月の1日にします。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;<code class="literal">ordinal</code> <code class="literal">dayname</code> &#039;of&#039; &quot;
      は日付を進め <em>ません</em> 。
      (例: &quot;first tuesday of july 2008&quot; は &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;
      は日付を進め <em>ます</em> 。
      (例: &quot;first tuesday july 2008&quot; は &quot;2008-07-08&quot; の意味です。上記の項番4を参照。)
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;&#039;last&#039; <code class="literal">dayname</code> &#039;of&#039; &quot; は、
      指定された曜日（<code class="literal">dayname</code>）の同月最後の日を返します。
      (例: &quot;last wed of july 2008&quot; は &quot;2008-07-30&quot; の意味です。)
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;&#039;last&#039; <code class="literal">dayname</code>&quot; は、
      現在日付からみて直前の、指定された曜日（<code class="literal">dayname</code>）を返します。
      (例: &quot;last wed july 2008&quot; は &quot;2008-06-25&quot; の意味です。
      まず &quot;july 2008&quot; を処理して現在日付を &quot;2008-07-01&quot; とみなし、
      次に &quot;last wed&quot; により直前の水曜日、つまり &quot;2008-06-25&quot; へと移動します。)
     </span>
    </li>
   </ol>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    月数を相対指定すると、その途中に経過する月の日数を使って結果を算出します。
    たとえば &quot;+2 month 2011-11-30&quot; の結果は &quot;2012-01-30&quot; となります。
    11 月の日数は 30 日、12 月の日数は 31 日なので、
    その合計である 61 日後となるわけです。
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    <code class="literal">number</code> は <em>整数値</em> です。
    つまり、小数値が与えられると、ドット(またはコンマ) はデリミタとして解釈されがちです。
    たとえば、<code class="literal">&#039;+1.5 hours&#039;</code> は
    <code class="literal">&#039;+1 hour +30 minutes&#039;</code> ではなく
    <code class="literal">&#039;+1 5 hours&#039;</code> のようにパースされます。
   </p>
  </p></blockquote>

  <div class="sect2">
   <h3 class="title">変更履歴</h3>
   <p class="para">
    <table class="doctable informaltable">
     
      <thead>
       <tr>
        <th>バージョン</th>
        <th>説明</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td>8.4.0</td>
        <td>
         <code class="literal">number</code> シンボルは、
         再びプラス符号の後に、マイナス符号を受け入れるようになりました。
         たとえば、<code class="literal">+-2</code> のようなフォーマットや、
         他の複数の符号の組み合わせです。
        </td>
       </tr>

       <tr>
        <td>8.2.0</td>
        <td>
         <code class="literal">number</code> シンボルは、
         プラス符号の後に、マイナス符号を受け入れなくなりました。
         たとえば、<code class="literal">+-2</code> のようなフォーマットです。
        </td>
       </tr>

       <tr>
        <td>7.0.8</td>
        <td>
         週の始まりが常に月曜日となりました。
         これより前のバージョンでは、日曜日も週の始まりとみなされていました。
        </td>
       </tr>

      </tbody>
     
    </table>

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

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