programing

PHP를 사용하여 다음 날과 이전 날 가져오기

shortcode 2023. 1. 8. 15:02
반응형

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>

그러면 해당 날짜보다 날짜가 1개씩 증가하거나 감소합니다.

요건: PHP 5 > = 5.2.0

Php에서 DateTimeDateInterval 클래스를 사용하면 매우 쉽고 읽기 쉬워집니다.

예: 전날을 가져옵니다.

// 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);
*/

참고 자료:Josh Lockhart의 최신 PHP, 새로운 기능 및 모범 사례

사용하다

$time = time();

전날의 경우 -

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

이틀 전에

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)));

이것을 간단히 사용하세요.

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

지정된 날짜와 $date의 차이(초)를 반환합니다.그래서 당신은 잘못된 결과를 얻고 있다.

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

'now'를 문자열로 사용하여 오늘/내일/어제 날짜를 가져올 수 있습니다.

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

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

<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>

메뉴얼도 참조해 주세요.

항상 기본 표준 시간대를 설정했는지 확인합니다.

date_default_timezone_set('Europe/Berlin');

DateTime 인스턴스 생성, 현재 날짜/시간 유지

$datetime = new DateTime();

1일 인터벌을 작성하다

$interval = new DateInterval('P1D');

DateTime 인스턴스 수정

$datetime->sub($interval);

결과 표시 또는print_r($datetime);더 많은 통찰력을 얻기 위해

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

힌트:

기본 시간대를 변경하지 않을 경우DateTimeZone대신 수업하세요.

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

또는 이 형태로 컨스트럭터 내부에 포함시킬 수도 있습니다.new DateTime("now", $myTimezone);

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("Y-m-d", mktime(0, 0, 0, date("m")), date("d")-1, date("Y");

"-1"을 "+1"로 바꾸면 돼, 요사파트

date Time() 오브젝트도 매우 간단합니다.

$tomorrow = new DateTime('tomorrow');
echo $tomorrow->format("Y-m-d"); // Tomorrow's date

$yesterday = new DateTime('yesterday');
echo $yesterday->format("Y-m-d"); // Yesterday's date

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

반응형