関数・クラス解説

DateInterval::format

version:PHP 5 >= 5.3.0, PHP 7 (公式)

間隔をフォーマットする

公式リファレンス

書式

public DateInterval::format ( string $format ) : string

説明

間隔をフォーマットします。

パラメータ

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 負の値の場合は "-"、正の値の場合は空文字 -,

返値

フォーマットされた間隔を返します。

注意

注意: DateInterval::format() メソッドは、 時刻文字列や日付セグメントでの繰り越しを再計算しません。 これは意図的な仕様です。なぜなら "32 days" のようにオーバーフローした値は "1 month and 4 days" から "1 month and 1 day" までのどれとでも解釈可能だからです。

更新履歴

バージョン 説明
7.1.0 フォーマット文字 F と f が追加されました。

サンプル

例1 DateInterval の例

$interval = new DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days');

上の例の出力は以下となります。

4 days

例2 DateInterval での繰り越しの例

$interval = new DateInterval('P32D'); echo $interval->format('%d days');

上の例の出力は以下となります。

32 days

例3 DateInterval および DateTime::diff() での修飾子 %a および %d

$january = new DateTime('2010-01-01'); $february = new DateTime('2010-02-01'); $interval = $february->diff($january); // %a は総日数を出力します echo $interval->format('%a total days')."\n"; // 一方 %d は、月数に含まれない日数のみを出力します echo $interval->format('%m month, %d days');

上の例の出力は以下となります。

31 total days 1 month, 0 days

参考

  • DateTime::diff() - ふたつの DateTime オブジェクトの差を返す
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール