날짜에 하루 추가
PHP날짜에 하루 추가
하루에 날짜를 추가하는 코드는 하루 전에 날짜를 반환합니다. 2009-09-30 20:24:00 하루 추가 후 날짜가 다음 달로 넘어 가야합니다. 1970-01-01 17:33:29
<?php
//add day to date test for month roll over
$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00"));
echo 'date before day adding: '.$stop_date;
$stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));
echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
?>
이전에 꽤 비슷한 코드를 사용했는데, 여기서 내가 뭘 잘못하고 있니?
해결법
-
==============================
1.
<?php $stop_date = '2009-09-30 20:24:00'; echo 'date before day adding: ' . $stop_date; $stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' +1 day')); echo 'date after adding 1 day: ' . $stop_date; ?>
PHP 5.2.0 이상에서는 다음과 같이 할 수도 있습니다 :
$stop_date = new DateTime('2009-09-30 20:24:00'); echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s'); $stop_date->modify('+1 day'); echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
-
==============================
2.
$date = new DateTime('2000-12-31'); $date->modify('+1 day'); echo $date->format('Y-m-d') . "\n";
-
==============================
3.가장 간단한 솔루션 :
가장 간단한 솔루션 :
$date = new DateTime('+1 day'); echo $date->format('Y-m-d H:i:s');
-
==============================
4.그것은 나를 위해 일했다 : 현재 날짜
그것은 나를 위해 일했다 : 현재 날짜
$date = date('Y-m-d', strtotime("+1 day"));
anydate :
date('Y-m-d', strtotime("+1 day", strtotime($date)));
-
==============================
5.이 시도
이 시도
echo date('Y-m-d H:i:s',date(strtotime("+1 day", strtotime("2009-09-30 20:24:00"))));
-
==============================
6.읽기 쉽고 이해하는 방법 :
읽기 쉽고 이해하는 방법 :
$original_date = "2009-09-29"; $time_original = strtotime($original_date); $time_add = $time_original + (3600*24); //add seconds of one day $new_date = date("Y-m-d", $time_add); echo $new_date;
-
==============================
7.나는 항상 86400 (하루에 초)을 추가합니다.
나는 항상 86400 (하루에 초)을 추가합니다.
$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00") + 86400); echo 'date after adding 1 day: '.$stop_date;
그것은 당신이 그것을 할 수있는 가장 매끄러운 방법이 아니지만 그것은 작동합니다!
-
==============================
8.Doug Hays의 답변에 동의하는 동안, 나는 strtotime ()이 문자열 (심지어 날짜를 나타내는 것조차도)이 아닌 INT를 두 번째 인수로 기대하기 때문에 코드가 작동하지 않는 이유가 여기에있다.
Doug Hays의 답변에 동의하는 동안, 나는 strtotime ()이 문자열 (심지어 날짜를 나타내는 것조차도)이 아닌 INT를 두 번째 인수로 기대하기 때문에 코드가 작동하지 않는 이유가 여기에있다.
최대 오류보고를 켜면 E_NOTICE 레벨 인 "부적절한 숫자 값"오류로 표시됩니다.
-
==============================
9.기존 DateTime 값에 증분을 추가하는 데 사용할 수있는 modify () 메서드입니다.
기존 DateTime 값에 증분을 추가하는 데 사용할 수있는 modify () 메서드입니다.
현재 날짜와 시간으로 새 DateTime 개체를 만듭니다.
$due_dt = new DateTime();
DateTime 객체를 가져 오면 기간을 더하거나 뺍니다.
$due_dt->modify('+1 day');
PHP 매뉴얼에서 더 많은 것을 읽을 수 있습니다.
-
==============================
10.다음 코드는 현재 연도의 1 월 첫 번째 날을 얻습니다 (그러나 다른 날짜가 될 수 있음). DateTime 클래스와 그 메소드 modify () 및 format ()을 사용하여 해당 날짜에 365 일을 추가합니다 (단, N 일 수 있음). ) :
다음 코드는 현재 연도의 1 월 첫 번째 날을 얻습니다 (그러나 다른 날짜가 될 수 있음). DateTime 클래스와 그 메소드 modify () 및 format ()을 사용하여 해당 날짜에 365 일을 추가합니다 (단, N 일 수 있음). ) :
echo (new DateTime((new DateTime())->modify('first day of January this year')->format('Y-m-d')))->modify('+365 days')->format('Y-m-d');
from https://stackoverflow.com/questions/1394791/adding-one-day-to-a-date by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
문자열을 벗어나는 것이 무슨 뜻입니까? (0) | 2018.09.21 |
---|---|
PHP & MYSQL : JOIN 연산에서 모호한 열 이름을 찾는 방법은 무엇입니까? (0) | 2018.09.21 |
함수에서 기본 인수 사용 (0) | 2018.09.21 |
json_encode () 이스케이프 슬래시 (0) | 2018.09.21 |
파일 다운로드를위한 HTTP 헤더 (0) | 2018.09.21 |