DateInterval::format
間隔をフォーマットする
&reftitle.description;
public stringDateInterval::format
stringformat
間隔をフォーマットします。
&reftitle.parameters;
format
次の文字を、
format パラメータ文字列に使用することができます。
フォーマット文字は、パーセント記号
(%) で始めなければなりません。
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
F と f
フォーマットの値は、常に正の数値になりました。
7.1.0
フォーマット文字 F と f が追加されました。
&reftitle.examples;
DateInterval の例
format('%d days');
]]>
&example.outputs;
DateInterval での繰り越しの例
format('%d days');
]]>
&example.outputs;
DateInterval および
DateTime::diff での修飾子 %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