Development Tip

PHP로 다음날 및 전날 받기

yourdevel 2020. 11. 12. 20:26
반응형

PHP로 다음날 및 전날 받기


두 개의 화살표를 설정했습니다. 다음 날, 다음 이틀, 곧 및 전날, 이틀 전, 곧 클릭하십시오. 코드가 작동하지 않는 것 같습니까? 다음 날과 전날 하나만 얻습니다.

<a href="home.php?date=<?= date('Y-m-d', strtotime('-1 day', strtotime($date))) ?>" class="prev_day" title="Previous Day" ></a> 
<a href="home.php?date=<?= date('Y-m-d', strtotime('+1 day', strtotime($date))) ?>" class="next_day" title="Next Day" ></a>

다음 버튼을 클릭하면 다음날 날짜가 계속 변경됩니다. 잠시 동안 그것은 하루 밖에 남지 않을 것입니다


date('Y-m-d', strtotime('+1 day', strtotime($date)))

읽어야합니다

date('Y-m-d', strtotime(' +1 day'))

지속적으로 날짜를 변경하는 것에 대한 의견에서 묻는 질문에 대한 답변 업데이트.

<?php
$date = isset($_GET['date']) ? $_GET['date'] : date('Y-m-d');
$prev_date = date('Y-m-d', strtotime($date .' -1 day'));
$next_date = date('Y-m-d', strtotime($date .' +1 day'));
?>

<a href="?date=<?=$prev_date;?>">Previous</a>
<a href="?date=<?=$next_date;?>">Next</a>

이렇게하면 해당 시간에있는 날짜에서 날짜가 하나씩 증가하거나 감소합니다.


요구 사항 : PHP 5> = 5.2.0

당신은 사용해야 날짜 시간DateInterval PHP에서 클래스를, 사물이 매우 쉽고 읽을 수 있도록집니다.

예 : 전날을 가져옵니다.

// always make sure to have set your default timezone
date_default_timezone_set('Europe/Berlin');

// create DateTime instance, holding the current datetime
$datetime = new DateTime();

// create one day interval
$interval = new DateInterval('P1D');

// modify the DateTime instance
$datetime->sub($interval);

// display the result, or print_r($datetime); for more insight 
echo $datetime->format('Y-m-d');


/** 
* TIP:
* if you dont want to change the default timezone, use
* use the DateTimeZone class instead.
*
* $myTimezone = new DateTimeZone('Europe/Berlin');
* $datetime->setTimezone($myTimezone); 
*
* or just include it inside the constructor 
* in this form new DateTime("now",   $myTimezone);
*/

참조 : 최신 PHP, 새로운 기능 및 우수 사례 : Josh Lockhart


사용하다

$time = time();

전날-

date("Y-m-d", mktime(0,0,0,date("n", $time),date("j",$time)- 1 ,date("Y", $time)));

2 일 전

date("Y-m-d", mktime(0,0,0,date("n", $time),date("j",$time) -2 ,date("Y", $time)));

다음날-

date("Y-m-d", mktime(0,0,0,date("n", $time),date("j",$time)+ 1 ,date("Y", $time)));

다음 2 일 동안

date("Y-m-d", mktime(0,0,0,date("n", $time),date("j",$time) +2 ,date("Y", $time)));

strtotime('-1 day', strtotime($date))

이것은 주어진 날짜와 $ date의 차이를 초 단위로 반환하므로 잘못된 결과를 얻게됩니다.

$ date가 오늘 날짜이고 -1 day는 차이로 -86400을 반환하고 날짜를 사용하려고하면 1969-12-31 Unix 타임 스탬프 시작 날짜가 표시된다는 것을 의미한다고 가정합니다.


이것을 사용하십시오

echo date('Y-m-d',strtotime("yesterday"));
echo date('Y-m-d',strtotime("tomorrow"));

이렇게 부르면 충분합니다.

<a href="home.php?date=<?= date('Y-m-d', strtotime('-1 day')) ?>" class="prev_day" title="Previous Day" ></a>
<a href="home.php?date=<?= date('Y-m-d', strtotime('+1 day')) ?>" class="next_day" title="Next Day" ></a>

또한 설명서를 참조하십시오 .


PHP 스크립트 -1 **** 다음 날짜까지

<?php

$currentdate=date('Y-m-d');


$date_arr=explode('-',$currentdate);


$next_date=
Date("Y-m-d",mktime(0,0,0,$date_arr[1],$date_arr[2]+1,$date_arr[0]));



echo $next_date;
?>**

**Php script -1****its to Next year**


<?php

$currentdate=date('Y-m-d');


$date_arr=explode('-',$currentdate);


$next_date=
Date("Y-m-d",mktime(0,0,0,$date_arr[1],$date_arr[2],$date_arr[0]+1));



echo $next_date;
?>

오늘 날짜에서 다음날 또는 전날을 원할 경우

date ( "Ymd", mktime (0, 0, 0, date ( "m"), date ( "d")-1, date ( "Y")));

그냥 "-1"을 "+1"안부로 바꾸세요, Yosafat


항상 기본 시간대를 설정했는지 확인하십시오

date_default_timezone_set('Europe/Berlin');

현재 datetime을 유지하는 DateTime 인스턴스를 만듭니다.

$datetime = new DateTime();

하루 간격 만들기

$interval = new DateInterval('P1D');

modify the DateTime instance

$datetime->sub($interval);

display the result, or print_r($datetime); for more insight

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

TIP:

If you don't want to change the default timezone, use the DateTimeZone class instead.

$myTimezone = new DateTimeZone('Europe/Berlin');
$datetime->setTimezone($myTimezone); 

or just include it inside the constructor in this form new DateTime("now", $myTimezone);


You could use 'now' as string to get today's/tomorrow's/yesterday's date:

$previousDay = date('Y-m-d', strtotime('now - 1day'));
$toDay       = date('Y-m-d', strtotime('now'));
$nextDay     = date('Y-m-d', strtotime('now + 1day'));

참고URL : https://stackoverflow.com/questions/5883571/get-next-and-previous-day-with-php

반응형