날짜에 일수 추가
현재 날짜에 일 수를 추가하고 싶다:사용하고 있는 코드는 다음과 같습니다.
$i=30;
echo $date = strtotime(date("Y-m-d", strtotime($date)) . " +".$i."days");
하지만 적절한 날짜를 얻는 대신 이걸 받아요: 2592000
제안해 주세요.
이것은 다음과 같습니다.
echo date('Y-m-d', strtotime("+30 days"));
strtotime
는 미국 영어 날짜 형식을 포함하는 문자열이 주어질 것으로 예상되며, 이 형식을 UNIX 타임스탬프(1970년 1월1일 00:00:00 UTC 이후 초수)로 해석하려고 합니다.이 타임 스탬프가 지정되어 있지 않은 경우는 현재 타임 스탬프를 기준으로 합니다.
하는 동안에date
지정된 정수 타임스탬프 또는 타임스탬프가 지정되지 않은 경우 현재 시간을 사용하여 지정된 형식 문자열에 따라 포맷된 문자열을 반환합니다.
다음의 메뉴얼 페이지를 참조해 주세요.
기능 시그니처입니다.
이게 좋을 것 같아
function addDayswithdate($date,$days){
$date = strtotime("+".$days." days", strtotime($date));
return date("Y-m-d", $date);
}
$date = new DateTime();
$date->modify('+1 week');
print $date->format('Y-m-d H:i:s');
또는print date('Y-m-d H:i:s', mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 7, date("Y"));
$today=date('d-m-Y');
$next_date= date('d-m-Y', strtotime($today. ' + 90 days'));
echo $next_date;
특정 날짜로부터 5일 후를 원하는 경우 다음과 같이 추가할 수도 있습니다.
다음과 같은 날짜를 가진 변수가 있습니다(입력 또는 DB에서 가져오거나 하드 코드화됨).
$today = "2015-06-15"; // Or can put $today = date ("Y-m-d");
$fiveDays = date ("Y-m-d", strtotime ($today ."+5 days"));
echo $fiveDays; // Will output 2015-06-20
서머타임이 원인이 되어 클럭이 변경되면 날짜만 계산할 때 문제가 발생할 수 있습니다.
이를 처리하는 작은 php 함수는 다음과 같습니다.
function add_days($date, $days) {
$timeStamp = strtotime(date('Y-m-d',$date));
$timeStamp+= 24 * 60 * 60 * $days;
// ...clock change....
if (date("I",$timeStamp) != date("I",$date)) {
if (date("I",$date)=="1") {
// summer to winter, add an hour
$timeStamp+= 60 * 60;
} else {
// summer to winter, deduct an hour
$timeStamp-= 60 * 60;
} // if
} // if
$cur_dat = mktime(0, 0, 0,
date("n", $timeStamp),
date("j", $timeStamp),
date("Y", $timeStamp)
);
return $cur_dat;
}
다음과 같은 방법도 있습니다.
$date->modify("+30 days");
타임코드를 조작하거나 strtotime()을 사용하여 실행할 수 있습니다.다음은 strtotime을 사용한 예입니다.
$data['created'] = 날짜('Y-m-d H:i:s', strtotime*+1주);
strtotime()을 사용할 수 있습니다.
$data['created'] = date('Y-m-d H:m:s', strtotime('+1 week'));
오래된 질문인 것은 알지만, PHP <5.3의 경우, 이것을 시도해 볼 수 있습니다.
$date = '05/07/2013';
$add_days = 7;
$date = date('Y-m-d',strtotime($date) + (24*3600*$add_days)); //my preferred method
//or
$date = date('Y-m-d',strtotime($date.' +'.$add_days.' days');
PHP에 내장된 Date Time 클래스를 사용할 수 있습니다.「add」라고 불리는 방법이 있습니다.사용방법은 매뉴얼에 자세히 설명되어 있습니다.http://www.php.net/manual/en/datetime.add.php
단, PHP 5.3.0이 필요합니다.
$date = "04/28/2013 07:30:00";
$dates = explode(" ",$date);
$date = strtotime($dates[0]);
$date = strtotime("+6 days", $date);
echo date('m/d/Y', $date)." ".$dates[1];
이거 드셔보세요.
$i=30;
echo date("Y-m-d",mktime(0,0,0,date('m'),date('d')+$i,date('Y')));
심플하고 최적의
echo date('Y-m-d H:i:s')."\n";
echo "<br>";
echo date('Y-m-d H:i:s', mktime(date('H'),date('i'),date('s'), date('m'),date('d')+30,date('Y')))."\n";
이거 드셔보세요
//add the two day
$date = "**2-4-2016**"; //stored into date to variable
echo date("d-m-Y",strtotime($date.**' +2 days'**));
//print output
**4-4-2016**
이 addDate() 함수를 사용하여 일, 월 또는 년을 추가 또는 감산합니다(보조함수 formatDate()도 필요합니다).
/**
* $date self explanatory
* $diff the difference to add or subtract: e.g. '2 days' or '-1 month'
* $format the format for $date
**/
function addDate($date = '', $diff = '', $format = "d/m/Y") {
if (empty($date) || empty($diff))
return false;
$formatedDate = reformatDate($date, $format, $to_format = 'Y-m-d H:i:s');
$newdate = strtotime($diff, strtotime($formatedDate));
return date($format, $newdate);
}
//Aux function
function reformatDate($date, $from_format = 'd/m/Y', $to_format = 'Y-m-d') {
$date_aux = date_create_from_format($from_format, $date);
return date_format($date_aux,$to_format);
}
참고: php > = 5.3에 한함
다음 코드를 사용합니다.
<?php echo date('Y-m-d', strtotime(' + 5 days')); ?>
참조처 - PHP에서 날짜를 현재 날짜에 추가하는 방법
이것은 오래된 질문이지만, 이 방법은 많은 상황을 필요로 하고, 강한 것 같습니다.PHP 5.3.0 이상이 필요합니다.
$EndDateTime = DateTime::createFromFormat('d/m/Y', "16/07/2017");
$EndDateTime->modify('+6 days');
echo $EndDateTime->format('d/m/Y');
날짜 문자열에는 임의의 형식을 사용할 수 있으며, 이 형식이 작동합니다.
//Set time zone
date_default_timezone_set("asia/kolkata");
$pastdate='2016-07-20';
$addYear=1;
$addMonth=3;
$addWeek=2;
$addDays=5;
$newdate=date('Y-m-d', strtotime($pastdate.' +'.$addYear.' years +'.$addMonth. ' months +'.$addWeek.' weeks +'.$addDays.' days'));
echo $newdate;
언급URL : https://stackoverflow.com/questions/2332681/add-number-of-days-to-a-date
'source' 카테고리의 다른 글
"forEach" 함수에서 "return" 키워드는 무엇을 의미합니까? (0) | 2022.10.01 |
---|---|
Mac OS X에서 MySQL을 제거하려면 어떻게 해야 합니까? (0) | 2022.10.01 |
'create Object'를 실행하지 못했습니다.'URL'의 URL: (0) | 2022.10.01 |
다른 디바이스의 IP 주소로 Vue 프로젝트에 액세스할 수 없습니다.vue cli 3 npm (0) | 2022.09.27 |
Mariadb의 동적 열 필드에서 중첩된 개체를 추출합니다. (0) | 2022.09.27 |