IT TIP

DATETIME 형식 값에 1 일 추가

itqueen 2020. 10. 27. 23:55
반응형

DATETIME 형식 값에 1 일 추가


특정 상황에서 DATETIME 형식의 변수 값에 1 일을 더하고 싶습니다.

$start_date = date('Y-m-d H:i:s', strtotime("{$_GET['start_hours']}:{$_GET['start_minutes']} {$_GET['start_ampm']}"));

이를 수행하는 가장 좋은 방법은 무엇입니까?


PHP에서이 작업을 수행하려면 :

// replace time() with the time stamp you want to add one day to
$startDate = time();
date('Y-m-d H:i:s', strtotime('+1 day', $startDate));

MySQL에 날짜를 추가하려는 경우 :

-- replace CURRENT_DATE with the date you want to add one day to
SELECT DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY);

PHP 5.2에 도입 된 DateTime 을 사용 하여이 작업을 수행하는 한 가지 방법이 더 있습니다 . strtotime()이것을 사용 하는 것과 달리 일광 절약 시간과 윤년을 고려합니다.

$datetime = new DateTime('2013-01-29');
$datetime->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');

// Available in PHP 5.3

$datetime = new DateTime('2013-01-29');
$datetime->add(new DateInterval('P1D'));
echo $datetime->format('Y-m-d H:i:s');

// Available in PHP 5.4

echo (new DateTime('2013-01-29'))->add(new DateInterval('P1D'))->format('Y-m-d H:i:s');

// Available in PHP 5.5

$start = new DateTimeImmutable('2013-01-29');
$datetime = $start->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');

날짜 시간 생성자는 매개 변수를 사용합니다 string time. 날짜 시간 형식$time 을 존중해야 합니다 .

예를 들어 몇 가지 유효한 값이 있습니다.

  • 'now' (기본값)
  • 2017-10-19
  • 2017-10-19 11:59:59
  • 2017-10-19 +1day

따라서 귀하의 경우 다음을 사용할 수 있습니다.

$dt = new \DateTime('now +1 day'); //Tomorrow
$dt = new \DateTime('2016-01-01 +1 day'); //2016-01-02

  1. strtotime문자열을 타임 스탬프로 변환하는 데 사용
  2. 여기에 하루 추가 (예 : 86400 초 추가 (24 * 60 * 60))

예 :

$time = strtotime($myInput);
$newTime = $time + 86400;

1 일만 추가하는 경우 strtotime을 다시 사용하는 것은 아마도 과잉 일 것입니다.


Zend Framework 에서 Zend_Date 클래스 사용을 시작하는 것이 좋습니다 . 나는 그것의 약간의 주제를 벗어난 것을 안다.

$date = new Zend_Date();
$date->add('24:00:00', Zend_Date::TIMES);
print $date->get();

당신이 사용할 수있는

$now = new DateTime();
$date = $now->modify('+1 day')->format('Y-m-d H:i:s');

서버 요청 시간을 사용하여 일을 추가합니다. 예상대로 작동합니다.

19/08/25 => 19/09/27

$timestamp = $_SERVER['REQUEST_TIME'];
$dateNow = date('d/m/y', $timestamp);
$newDate = date('d/m/y', strtotime('+2 day', $timestamp));

여기에 '+2 일'을 입력하면 원하는 날짜를 추가 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1286265/adding-1-day-to-a-datetime-format-value

반응형