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 | W 는 D 와 결합될 수 있습니다. |
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) }
기타
- DateInterval::format() - 간격 형식 지정
- DateTime::add() - DateTime 객체에 일, 월, 년, 시, 분, 초를 추가합니다.
- DateTime::sub() - DateTime 객체에서 일, 월, 년, 시, 분, 초의 양을 뺍니다.
- DateTime::diff() - 두 DateTime 객체 간의 차이를 반환합니다.