이 형식의 날짜가 있습니다.
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
문서를 참조하십시오.