| 日 | --- | --- | 
         
          | dおよびj | 2桁の日付。先頭のゼロを含むものと含まないもの | 01から31あるいは1から31(その月の日数分以上の2桁の数値も指定可能ですが、
           その月はオーバーフローします。
           たとえば January において 33 を指定した場合、
           February 2nd という意味になります) | 
         
          | Dおよびl | 曜日を表す文字列 | MonからSunあるいはSundayからSaturday。
           指定された曜日が、パースされた(またはデフォルトの)日付と異なっていた場合、
           指定された曜日の 次の
           日にオーバーフローします。詳細は後に示すサンプルを参照ください。 | 
         
          | S | 日付の後につける英語の接尾辞。二文字。処理中には無視されます。 | st、nd、rdあるいはth | 
         
          | z | 年始からの通算日数 (最初は 0)。 Yまたはyの後に続けて置かなければいけません。 | 0から365(1年の日数分以上の3桁の数値も指定可能ですが、
           その年はオーバーフローします。
           たとえば 2022年において366を指定した場合は、
           January 2nd, 2023 という意味になります) | 
         
          | 月 | --- | --- | 
         
          | FおよびM | 月を表す文字列。January あるいは Sept など | JanuaryからDecemberあるいはJanからDec | 
         
          | mおよびn | 月を表す数値。先頭のゼロを含むものと含まないもの | 01から12あるいは1から12(12 以上の2桁の数値も指定可能ですが、
           その年についてはオーバーフローします。
           たとえば13の場合は、
           翌年の1月という意味になります) | 
         
          | 年 | --- | --- | 
         
          | Xおよびx | 年の数値表現。19桁まで指定可能。オプションで +や-を先頭に指定可能です。 | 例: 0055,787,1999,-2003,+10191 | 
         
          | Y | 4 桁までの数値で表した年 | 例: 25(0025と同じ),787,1999,2003 | 
         
          | y | 2 桁の数値で表した年 (1970年から2069年の間だとみなされます) | 例: 99あるいは03(それぞれ、1999および2003と見なされます) | 
         
          | 時刻 | --- | --- | 
         
          | aおよびA | 午前および午後 | amあるいはpm | 
         
          | gおよびh | 12 時間制での時間。先頭のゼロを含むものと含まないもの | 1から12あるいは01から12(12 以上の2桁の数値も指定可能ですが、
           日の指定がオーバーフローします。
           たとえば14の場合は、
           次の午前/午後の02時という意味になります) | 
         
          | GおよびH | 24 時間制での時間。先頭のゼロを含むものと含まないもの | 0から23、あるいは00から23(24 より大きな、2桁の値も指定可能ですが、
           この場合、日の指定がオーバーフローします。
           たとえば、26は翌日の02:00という意味になります) | 
         
          | i | 分。先頭のゼロを含む | 00から59(59 以上の2桁の数値も指定可能ですが、
           次の1時間にオーバーフローします。
           たとえば66の場合は、
           次の1時間の:06という意味になります) | 
         
          | s | 秒。先頭のゼロを含む | 00から59(59 以上の2桁の数値も指定可能ですが、
           次の分にオーバーフローします。
           たとえば90の場合は、
           次の分の:30という意味になります) | 
         
          | v | ミリ秒 (最大 3桁) | 例: 12(0.12秒という意味),345(0.345秒という意味) | 
         
          | u | マイクロ秒 (最大 6 桁) | 例: 45(0.45秒という意味),654321(0.654321秒という意味) | 
         
          | タイムゾーン | --- | --- | 
         
          | e,O,p,PおよびT | タイムゾーン識別子、UTC からの時差 (時間単位)、
          UTC からの時差 (コロン区切りでの時間と分)、そしてタイムゾーンの短縮形 | 例: UTC、GMT、Atlantic/Azores、+0200、+02:00、EST、MDT | 
         
          | 完全な日付/時刻 | --- | --- | 
         
          | U | Unix エポック (January 1 1970 00:00:00 GMT) からの経過秒数 | 例: 1292177455 | 
         
          | 空白および区切り | --- | --- | 
         
          |  (空白) | ゼロ文字以上のスペース、タブ、NBSP(U+A0)、NNBSP(U+202F) | 例: "\t","  " | 
         
          | # | 次の区切り文字のいずれか: ;,:,/,.,,,-,(,) | 例: / | 
         
          | ;,:,/,.,,,-,(,) | 指定した文字 | 例: - | 
         
          | ? | ランダムなバイト | 例: ^(UTF-8 文字の場合は複数の?が必要になるでしょう。この場合、おそらく*を使うと要望が満たせるはずです) | 
         
          | * | 次の区切り文字あるいは数字までのランダムなバイト列 | 例: Y-*-dの中の*は、文字列2009-aWord-08の中のaWordにマッチします | 
         
          | ! | すべてのフィールド
           (年、月、日、時、分、秒、マイクロ秒およびタイムゾーン情報)
           を ゼロ相当の値
           (時、分、秒、マイクロ秒については 0。
           月、日については1。
           年については1970。
           タイムゾーンについてはUTC)
           にリセットします。 | !がなければ、すべてのフィールドは現在の日時に設定されます。 | 
         
          | | | まだパースされていないすべてのフィールド (年、月、日、時、分、秒、マイクロ秒およびタイムゾーン情報)
          を ゼロ相当の値にリセットします。 | Y-m-d|は、文字列をパースした結果から年月日を設定し
          時分秒には 0 を設定します。 | 
         
          | + | この文字があると、文字列のそれ以降のデータではエラーが発生せず、
          かわりに警告を発生させる | それ以降のデータが存在したかどうかを調べるには DateTime::getLastErrors()
          を使います。 |