it-source

'P'는 DateInterval 형식으로 무엇을 의미합니까?

criticalcode 2023. 1. 3. 21:46
반응형

'P'는 DateInterval 형식으로 무엇을 의미합니까?

다음 예시는 DateTime에 대한 php 매뉴얼에서 인용한 것입니다.

<?php
  $date = new DateTime('2000-01-20');
  $date->sub(new DateInterval('P10D'));
  echo $date->format('Y-m-d') . "\n";
?>

'D'는 며칠 동안인데, 이 형식에서 'P'는 무엇을 의미합니까?

매뉴얼에서

인터벌 지정.

형식은 "period"의 경우 문자 P로 시작합니다.각 지속기간은 정수값 뒤에 주기 지정자가 이어진다.기간 내에 시간 요소가 포함되어 있는 경우, 사양의 그 부분 앞에 문자 T가 붙습니다.

'P'는 Period를 나타냅니다.http://php.net/manual/en/dateinterval.construct.php 를 참조해 주세요.

좀 더 자세히 답변해 드릴 수 있을 것 같습니다.일단은...DateIntervalconstructor method는 이름이 붙은1개의 파라미터를 취합니다.$interval_spec스트링입니다.

DateInterval::__construct ( string $interval_spec )

이 파라미터의 사양은 다음과 같습니다.

형식은 마침표 문자 P로 시작합니다.각 지속기간은 정수값 뒤에 주기 지정자가 이어진다.기간 내에 시간 요소가 포함되어 있는 경우, 사양의 그 부분 앞에 문자 T가 붙습니다.

인수에 사용되는 기간 지정자는 다음과 같습니다.

  • Y년간
  • M(개월)
  • 동안 D
  • 동안이나요이것들은 일수로 변환되기 때문에 D와 조합할 수 없습니다.
  • 시간 동안 H
  • 분간 M
  • S()

기간 지정자를 사용한 예를 몇 가지 살펴보겠습니다.

  • 이틀은 P2D입니다.
  • 2초는 PT2S입니다.
  • 6년 5분이 P6YT5M입니다.

문서에 설명된 대로 유지 관리해야 하는 주문이 있습니다.

단위 유형은 왼쪽의 가장 큰 척도 단위에서 오른쪽의 가장 작은 척도 단위로 입력해야 합니다.그러니까 몇 달 전, 몇 달 전, 몇 분 전 등입니다.따라서 1년 4일은 P4D1Y가 아닌 P1Y4D로 표시되어야 합니다.

사양은 날짜/시간으로도 나타낼있습니다.

  • 1년, 2개월, 4일은 P0001-02-04가 됩니다.T00:00:00:00

그러나 이 형식의 값은 주어진 기간의 롤오버 포인트를 초과할 수 없습니다(예: 25시간은 유효하지 않습니다).

언급URL : https://stackoverflow.com/questions/9188763/what-does-p-stand-for-in-the-dateinterval-format

반응형