양식에 mySQL 쿼리의 일부로 날짜가 반환되었습니다. 2010-09-17
다음과 같이 변수 $ Date2를 $ Date5로 설정하고 싶습니다.
$Date2 = $Date + 1
$Date3 = $Date + 2
기타..
그래서 반환 2010-09-18
, 2010-09-19
등 …
나는 시도했다
date('Y-m-d', strtotime($Date. ' + 1 day'))
그러나 이것은 나에게 날짜 이전을 제공합니다 $Date
.
내 날짜를 ‘Ymd’형식으로 가져와 다른 쿼리에 사용할 수있는 올바른 방법은 무엇입니까?
답변
다음 과 같이 사용하기 days
만하면됩니다 day
.
<?php
$Date = "2010-09-17";
echo date('Y-m-d', strtotime($Date. ' + 1 days'));
echo date('Y-m-d', strtotime($Date. ' + 2 days'));
?>
그리고 올바르게 출력됩니다.
2010-09-18
2010-09-19
답변
PHP 5.3을 사용하는 경우 DateTime
객체와 해당 add
메소드를 사용할 수 있습니다 .
$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->add(new DateInterval('P1D')); // P1D means a period of 1 day
$Date2 = $date->format('Y-m-d');
상기 살펴보세요 DateInterval
생성자 날짜에 추가 할 다른 기간을 구성하는 방법을 볼 수있는 매뉴얼 페이지를 (2 일 것이다 'P2D'
, 3 것 'P3D'
등).
PHP 5.3이 없다면, 당신이 strtotime
했던 방식대로 사용할 수있을 것입니다 (테스트 한 결과 5.1.6과 5.2.10에서 모두 작동합니다) :
$Date1 = '2010-09-17';
$Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
// var_dump($Date2) returns "2010-09-18"
답변
PHP 5.2부터는 DateTime 객체와 함께 modify를 사용할 수 있습니다.
http://php.net/manual/en/datetime.modify.php
$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->modify('+1 day');
$Date2 = $date->format('Y-m-d');
월을 추가 할 때는주의하십시오 …
답변
다음은 날짜 수정을 보여주는 작은 스 니펫입니다.
$date = date("Y-m-d");
//increment 2 days
$mod_date = strtotime($date."+ 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//decrement 2 days
$mod_date = strtotime($date."- 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 month
$mod_date = strtotime($date."+ 1 months");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 year
$mod_date = strtotime($date."+ 1 years");
echo date("Y-m-d",$mod_date) . "\n";
답변
다음 형식을 사용할 수도 있습니다
strtotime("-3 days", time());
strtotime("+1 day", strtotime($date));
이 방법으로 변경 사항을 스택 할 수 있습니다.
strtotime("+1 day", strtotime("+1 year", strtotime($date)));
이 방법과 다른 답변의 방법의 차이점에 유의하십시오. 값을 연결하는 대신 +1 day
및 <timestamp>
의 두 번째 매개 변수로 타임 스탬프를 전달하면됩니다 strtotime
.
답변
일 수에 변수 사용
$myDate = "2014-01-16";
$nDays = 16;
$newDate = strtotime($myDate . '+ '.$nDays.'days');
echo newDate('d/m/Y', $soma); //format new date
답변
다음은 가장 간단한 쿼리 솔루션입니다.
$date=date_create("2013-03-15"); // or your date string
date_add($date,date_interval_create_from_date_string("40 days"));// add number of days
echo date_format($date,"Y-m-d"); //set date format of the result