2010-04-22 4 views
8

에 일을 추가하여 미래의 날짜를 계산, 그리고 내가 필요에 가까운 : PHP - How to count 60 days from the add datePHP 내가이 게시물보고 있었다 변수 날짜

그러나, 해당 게시물에서, 계산을 60 일 추가하여 수행됩니다 현재 날짜로 내가해야 할 일은 가변 날짜 (이 아니라 현재 날짜)를 기준으로 날짜를 계산하는 것입니다. 이 같은

뭔가 :

$my_date = $some_row_from_a_database; 
$date_plus_10_days = ???; 

누구나 그렇게하는 방법을 알고?

감사

+0

데이터베이스의 날짜 형식 (타임 스탬프)은 무엇입니까? –

답변

26

당신은 "십일"부분 전에 뭔가를 넣을 수 있습니다 :

strtotime("2010-01-01 +10 days"); 
+4

+1은 오늘 새로운 것을 배웠습니다. 감사. 아마 OP는 사람이 읽을 수있는 문자열로 다시 변환하려고합니다. 그래서 날짜 같은 것 ('Y-m-d', strtotime ("2010-01-01 +10 days")); – zaf

+4

'strototime'은 첫 번째 인수로 넣은 것에 대한 참조 타임 스탬프로 사용되는 두 번째 인수로 타임 스탬프를 취합니다. 따라서 OP가 MySQL에서 타임 스탬프를 얻으면 그는'strtotime ('+ 60 일, $ timestampFromMySql); – Gordon

+0

완벽한 - 감사합니다! – OneNerd

1

난 당신이 데이터를 가져 오는 중 오류된다 참조 DATE_ADD 데이터베이스.

예 : 당신이 MySQL을 사용하는 경우에 당신은 선택에 그것을 할 수 있습니다 당신이-7 날짜 일

select max(datefield) as ultimaf, DATE_SUB(max(datefield),INTERVAL 7 DAY) as last7 
from table 

키우면 쉽게 사용 CURDATE() 경우를 테이블의 마지막 일 이후이 필요 오늘 날짜를 원해.

select count(*) from table 
where DATE_SUB(CURDATE(),INTERVAL 7 DAY)<=datefield" 
2
date('Y-m-d H:i:s', strtotime("2014-11-24 06:33:39" +35 days")) 

이 정의 형식의 계산 된 날짜를 얻을 것이다 :

그 사이에 동적 필요한 경우

은 지난 7 일의 수를 선택합니다.

0

한다고 가정 오늘 날짜는

date_default_timezone_set('Asia/Calcutta'); 
$today=date("Y-m-d"); 

다음과 같은 순서로 내가 현재 날짜에 십일 추가 할 수 있습니다 : 당신은 strtotime()에보고해야합니다

$date_afte_10_days = date('Y-m-d', strtotime("$today +10 days")); 
0

. 최종 코드가 다음과 같이 보일 것이라고 생각합니다 :

$dateVariable  = strtotime('2017-01-29');//your date variable goes here 
$date_plus_60_days = date('Y-m-d', strtotime('+ 60 days', $dateVariable)); 
echo $date_plus_60_days; 

PHP> = 5.2를 사용하는 경우 새 DateTime 객체를 사용하는 것이 좋습니다. 예 : 아래와 같습니다 :

$date_plus_60_days = new DateTime("2006-12-12"); 
$date_plus_60_days->modify("+60 days"); 
echo $date_plus_60_days->format("Y-m-d");