DateInterval::format 間隔をフォーマットする &reftitle.description; public stringDateInterval::format stringformat 間隔をフォーマットします。 &reftitle.parameters; format 次の文字を、 <parameter>format</parameter> パラメータ文字列に使用することができます。 フォーマット文字は、パーセント記号 (<literal>%</literal>) で始めなければなりません。 format 文字 説明 値の例 % リテラルとしての % % Y 年、数値、先頭に 0 を含む 2 桁 01, 03 y 年、数値 1, 3 M 月、数値、先頭に 0 を含む 2 桁 01, 03, 12 m 月、数値 1, 3, 12 D 日、数値、先頭に 0 を含む 2 桁 01, 03, 31 d 日、数値 1, 3, 31 a DateTime::diff の結果に使った場合は総日数、それ以外の場合は (unknown) 4, 18, 8123 H 時間、数値、先頭に 0 を含む 2 桁 01, 03, 23 h 時間、数値 1, 3, 23 I 分、数値、先頭に 0 を含む 2 桁 01, 03, 59 i 分、数値 1, 3, 59 S 秒、数値、先頭に 0 を含む 2 桁 01, 03, 57 s 秒、数値 1, 3, 57 F マイクロ秒、少なくとも6桁。足りない分は先頭が0埋めされます。 007701, 052738, 428291 f マイクロ秒、数値 7701, 52738, 428291 R 負の値の場合は "-"、正の値の場合は "+" -, + r 負の値の場合は "-"、正の値の場合は空文字 -,
&reftitle.returnvalues; フォーマットされた間隔を返します。 &reftitle.changelog; &Version; &Description; 7.2.12 Ff フォーマットの値は、常に正の数値になりました。 7.1.0 フォーマット文字 Ff が追加されました。 &reftitle.examples; <classname>DateInterval</classname> の例 format('%d days'); ]]> &example.outputs; <classname>DateInterval</classname> での繰り越しの例 format('%d days'); ]]> &example.outputs; <classname>DateInterval</classname> および <methodname>DateTime::diff</methodname> での修飾子 %a および %d diff($january); // %a は総日数を出力します echo $interval->format('%a total days')."\n"; // 一方 %d は、月数に含まれない日数のみを出力します echo $interval->format('%m month, %d days'); ]]> &example.outputs; &reftitle.notes; DateInterval::format メソッドは、 時刻文字列や日付セグメントでの繰り越しを再計算しません。 これは意図的な仕様です。なぜなら "32 days" のようにオーバーフローした値は "1 month and 4 days" から "1 month and 1 day" までのどれとでも解釈可能だからです。 &reftitle.seealso; DateTime::diff