[php] 날짜 빼기 1 년?

이 형식의 날짜가 있습니다.

2009-01-01

같은 날짜를 1 년 전에 반환하려면 어떻게해야합니까?



답변

다음을 사용할 수 있습니다 strtotime.

$date = strtotime('2010-01-01 -1 year');

strtotime함수는 사용할 수있는 형식화 된 문자열을 얻기 위해 유닉스 타임 스탬프를 반환합니다 date.

echo date('Y-m-d', $date); // echoes '2009-01-01'


답변

strtotime () 함수 사용 :

  $time = strtotime("-1 year", time());
  $date = date("Y-m-d", $time);


답변

DateTime 개체 사용 …

$time = new DateTime('2099-01-01');
$newtime = $time->modify('-1 year')->format('Y-m-d');

또는 오늘은 지금 사용

$time = new DateTime('now');
$newtime = $time->modify('-1 year')->format('Y-m-d');


답변

내가 잘 사용하고 일했던 가장 쉬운 방법

date('Y-m-d', strtotime('-1 year'));

이것은 완벽하게 작동했습니다 .. 이것이 다른 사람에게도 도움이되기를 바랍니다 .. 🙂


답변

// set your date here
$mydate = "2009-01-01";

/* strtotime accepts two parameters.
The first parameter tells what it should compute.
The second parameter defines what source date it should use. */
$lastyear = strtotime("-1 year", strtotime($mydate));

// format and display the computed date
echo date("Y-m-d", $lastyear);


답변

내 웹 사이트에서 등록한 사람이 18 세인지 확인하기 위해 간단히 다음을 사용했습니다.

$legalAge = date('Y-m-d', strtotime('-18 year'));

그 후에 두 날짜 만 비교하십시오.

누군가를 도울 수 있기를 바랍니다.


답변

이 질문에 대한 답변으로 받아 들일 수있는 답변이 많지만 객체를 sub사용하는 방법의 예는 보이지 않습니다 \Datetime. https://www.php.net/manual/en/datetime.sub.php

따라서 참조를 위해를 사용 \DateInterval하여 \Datetime객체 를 수정할 수도 있습니다 .

$date = new \DateTime('2009-01-01');
$date->sub(new \DateInterval('P1Y'));

echo $date->format('Y-m-d');

다음을 반환합니다.

2008-01-01

에 대한 자세한 내용은 https://www.php.net/manual/en/class.dateinterval.php\DateInterval 문서를 참조하십시오.