Php/docs/dateinterval.construct

提供:Dev Guides
< Php
移動先:案内検索

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] に基づくものです。


エラー / 例外

duration を間隔としてパースできないときに Exception をスローします。


<?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)
}

参考