DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::__construct — 새 DateInterval 객체를 생성합니다.


설명

public DateInterval::__construct(string $duration)

새 DateInterval 개체를 만듭니다.


매개변수

duration
간격 사양입니다.

형식은 마침표를 나타내는 문자 P로 시작합니다. 각 지속 기간은 정수 값 다음에 기간 지정자로 표시됩니다. 기간에 시간 요소가 포함된 경우 사양의 해당 부분 앞에 문자 T가 옵니다.

duration Period Designators

Period Designator 설명
Y years
M months
D days
W 주. 일로 환산했습니다. PHP 8.0.0 이전에는 D와 결합할 수 없습니다.
H hours
M minutes
S seconds

다음은 몇 가지 간단한 예입니다. 이틀은 P2D입니다. 2초는 PT2S입니다. 6년 5분은 P6YT5M입니다.

메모: 단위 유형은 왼쪽의 가장 큰 눈금 단위부터 오른쪽의 가장 작은 눈금 단위까지 입력해야 합니다. 따라서 몇 년 전, 몇 달 전, 몇 일 전 분 등입니다. 따라서 1년 4일은 P4D1Y가 아니라 P1Y4D로 표시되어야 합니다.

사양은 날짜 시간으로 나타낼 수도 있습니다. 1년 4일의 샘플은 P0001-00-04T00:00:00입니다. 그러나 이 형식의 값은 지정된 기간의 롤오버 지점을 초과할 수 없습니다(예: 25시간은 유효하지 않음).

이러한 형식은 » ISO 8601 기간 사양을 기반으로 합니다.


오류/예외

duration을 간격으로 구문 분석할 수 없는 경우 예외를 throw합니다.


변경 로그

버전 설명
8.0.0 WD와 결합될 수 있습니다.

Examples

예제 #1 DateInterval 예제

                  
<?php

$interval = new DateInterval('P1W2D');
var_dump($interval);

?>
                  
                

PHP 8에서 위 예제의 출력:

object(DateInterval)#1 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(9)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}
                

PHP 7에서 위 예제의 출력:

object(DateInterval)#1 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(2)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}
                

기타