DateTime에 대한 PHP 매뉴얼 에서 인용 한 다음 예제를 고려하십시오.
<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>
'D'는 날을 나타내는데, 그 형식에서 'P'는 무엇을 의미합니까?
DateTime에 대한 PHP 매뉴얼 에서 인용 한 다음 예제를 고려하십시오.
<?php
$date = new DateTime('2000-01-20');
$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>
'D'는 날을 나타내는데, 그 형식에서 'P'는 무엇을 의미합니까?
답변:
좀 더 자세하게 대답 할 수 있다고 생각합니다. 우선 DateInterval
생성자 메서드 $interval_spec
는 문자열 이라는 이름의 매개 변수를 취 합니다.
DateInterval::__construct ( string $interval_spec )
이 매개 변수에는 다음과 같은 사양이 있습니다.
형식은 마침표를 나타내는 문자 P로 시작합니다. 각 기간 기간은 정수 값과 기간 지정자로 표시됩니다. 기간에 시간 요소가 포함 된 경우 사양의 해당 부분 앞에 문자 T가옵니다.
인수에 사용되는 몇 가지 기간 지정자가 있습니다.
기간 지정자를 사용한 몇 가지 예를 살펴 보겠습니다.
문서에 설명 된대로 유지해야하는 순서가 있습니다.
단위 유형은 왼쪽의 가장 큰 눈금 단위에서 오른쪽의 가장 작은 눈금 단위까지 입력해야합니다. 따라서 몇 년 전, 몇 달 전, 몇 분 전 등. 따라서 1 년 4 일은 P4D1Y가 아니라 P1Y4D로 표시되어야합니다.
사양은 datetime으로 표시 될 수도 있습니다 .
그러나이 형식의 값은 주어진 기간의 롤오버 포인트를 초과 할 수 없습니다 (예 : 25 시간은 유효하지 않음).
P
되지만 그 참조는 너무 절제되었습니다. 나는 기간을 의미 짐작 내가 검색 한php.net
그 단어, 나는 분명히 생성자 페이지로 없었어 .. 그러나 그것은에서 참조 아니에요date_format
,DateTime::diff
,DateTime::format
,DateInterval
일반의, 그리고 호스트Date/Time
기능을합니다. 나는 교환을 쌓아왔다 때까지 다른 접두사에 대해 알고 내가 그것을 찾을 수 있다면 저주이 있다면 알고 싶어