형태의 PHP 날짜 2013-01-22
가 있고 같은 형식으로 내일 날짜를 얻고 싶습니다 2013-01-23
.
PHP로 어떻게 가능합니까?
답변:
DateTime 사용
$datetime = new DateTime('tomorrow');
echo $datetime->format('Y-m-d H:i:s');
또는:
$datetime = new DateTime('2013-01-22');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
또는:
$datetime = new DateTime('2013-01-22');
$datetime->add(new DateInterval("P1D"));
echo $datetime->format('Y-m-d H:i:s');
또는 PHP 5.4 이상 :
echo (new DateTime('2013-01-22'))->add(new DateInterval("P1D"))
->format('Y-m-d H:i:s');
$tomorrow = date("Y-m-d", strtotime('tomorrow'));
또는
$tomorrow = date("Y-m-d", strtotime("+1 day"));
도움말 링크 : STRTOTIME ()
<? php
//1 Day = 24*60*60 = 86400
echo date("d-m-Y", time()+86400);
?>
사용 DateTime
:
지금부터 내일을 얻으려면 :
$d = new DateTime('+1day');
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
결과 : 28/06/2017 08.13.20
날짜에서 내일을 얻으려면 :
$d = new DateTime('2017/06/10 08.16.35 +1day')
$tomorrow = $d->format('d/m/Y h.i.s');
echo $tomorrow;
결과 : 2017 년 11 월 6 일 08.16.35
도움이 되었기를 바랍니다.
/**
* get tomorrow's date in the format requested, default to Y-m-d for MySQL (e.g. 2013-01-04)
*
* @param string
*
* @return string
*/
public static function getTomorrowsDate($format = 'Y-m-d')
{
$date = new DateTime();
$date->add(DateInterval::createFromDateString('tomorrow'));
return $date->format($format);
}
이상하게도 완벽하게 작동하는 것처럼 보일 수 있습니다. date_create( '2016-02-01 + 1 day' );
echo date_create( $your_date . ' + 1 day' )->format( 'Y-m-d' );
해야 할 일
첫째, 올바른 추상화를 찾는 것이 항상 핵심입니다. 가독성, 유지 보수성 및 확장 성의 핵심입니다.
여기에서 아주 명백한 후보는 ISO8601DateTime
. 적어도 두 가지 구현이 있습니다. 첫 번째는 문자열에서 파싱 된 datetime이고 두 번째는 내일입니다. 따라서 사용할 수있는 두 가지 클래스가 있으며 이들의 조합은 (거의) 원하는 결과를 가져옵니다.
new Tomorrow(new FromISO8601('2013-01-22'));
두 개체가 있습니다 자신의 텍스트 표현이 정확하게 당신이 필요로되지 않도록, ISO8601 날짜. 따라서 마지막 스트로크는 날짜 형식을 취하는 것입니다.
new Date(
new Tomorrow(
new FromISO8601('2013-01-22')
)
);
객체뿐 아니라 텍스트 표현이 필요하므로 value()
메서드 를 호출합니다 .
이 접근 방식에 대한 자세한 내용은 이 게시물을 참조하십시오 .
여기에 작업 기능이 있습니다.
function plus_one_day($date){
$date2 = formatDate4db($date);
$date1 = str_replace('-', '/', $date2);
$tomorrow = date('Y-m-d',strtotime($date1 . "+1 days"));
return $tomorrow; }
$date = '2013-01-22';
$time = strtotime($date) + 86400;
echo date('Y-m-d', $time);
여기서 86400은 하루의 초입니다.