DateInterval::__construct
(PHP 5 >= 5.3.0, PHP 7)
DateInterval::__construct — 新しい DateInterval オブジェクトを作成する
説明
public DateInterval::__construct
( string $duration
)
新しい DateInterval オブジェクトを作成します。
パラメータ
duration
間隔。
最初は
P
から始まります。これは “period” を表します。 間隔の単位は、整数値の後に間隔指示子をつけて表します。 時間の要素を含む場合は、時間部分の前に文字T
を入れます。duration
の間隔指示子間隔指示子 説明 Y
年 M
月 D
日 W
週。日付に変換されるので D
と組み合わせて使うことはできません。H
時間 M
分 S
秒 いくつか簡単な例を示しましょう。
P2D
は 2 日、PT2S
は 2 秒、そしてP6YT5M
は 6 年と 5 分を表します。注意:
複数の単位を指定するときは、 大きな単位を左、小さな単位を右の順に書かなければなりません。 つまり年は月より先、月は日より先、日は分より先などとなります。 1 年と 4 日を表すのは
P1Y4D
であり、P4D1Y
ではありません。日付と時刻で間隔を指定することもできます。 1 年と 4 日をこの方式で表すと
P0001-00-04T00:00:00
のようになります。 しかし、この方式では繰り返し単位以上の値を指定することはできません (たとえば25
時間などとは指定できません)。これらのフォーマットは [http://en.wikipedia.org/wiki/Iso8601#Durations » ISO 8601 duration specification] に基づくものです。
例
<?php$interval = new DateInterval('P2Y4DT6H8M');var_dump($interval);?>
上の例の出力は以下となります。
object(DateInterval)#1 (8) { ["y"]=> int(2) ["m"]=> int(0) ["d"]=> int(4) ["h"]=> int(6) ["i"]=> int(8) ["s"]=> int(0) ["invert"]=> int(0) ["days"]=> bool(false) }
参考
- DateInterval::format() - 間隔をフォーマットする
- DateTime::add() - 年月日時分秒の値を DateTime オブジェクトに加える
- DateTime::sub() - 年月日時分秒の値を DateTime オブジェクトから引く
- DateTime::diff() - ふたつの DateTime オブジェクトの差を返す