2016-12-01 2 views
4

나는 두 개의 날짜 변수가 있습니다PHP를 사용하여 일별로 두 문자열 날짜의 차이를 계산하는 방법은 무엇입니까?

$dnow = "2016-12-1"; 
$dafter = "2016-12-11"; 

내가 지금 어떻게 계산합니까 문자열 형식으로 된이 두 날짜의 차이를 계산하려면? 나는

date_diff($object, $object2) 

를 사용하지만,이 날짜 객체를 기대하고, 나는 date_diff를 사용하면 나는 오류를 다음 얻을, 문자열 형식 의 날짜가

메시지 : 클래스 DateInterval의 개체 수 없습니다 문자열로 변환됩니다.

+2

의 사용 가능한 복제 [PHP를 사용하여 두 날짜 사이의 차이를 계산하는 방법? (http://stackoverflow.com/q/676824/두 달 간의 차이를 계산하는 방법 – Ronald

+3

[두 날짜 사이의 일 수 찾기] 가능한 중복 (http://stackoverflow.com/questions/2040560)/found-the-days-between-two-dates의 날짜) – Mohammad

답변

4

사용이 시도 date_create

$dnow = "2016-12-1"; 
$dafter = "2016-12-11"; 
$date1=date_create($dnow); 
$date2=date_create($dafter); 
$diff=date_diff($date1,$date2); 
print_r($diff); 

DEMO

2

strtotime 함수를 사용하여 두 날짜의 타임 스탬프를 만들고 그 값을 비교할 수 있습니다.

<?php 

$start = strtotime('2016-12-1'); 
$end = strtotime('2016-12-11'); 
$diffInSeconds = $end - $start; 
$diffInDays = $diffInSeconds/86400; 
+0

코드 반환 차이 시간 (초). 하루로 변환해야합니다. – Mohammad

+0

하루에 86400 초가 있으므로이 숫자로 결과를 나눕니다. – Jerodev

2
$datetime1=date_create($dnow); 
$datetime2 = date_create($dafter); 
$interval = date_diff($datetime1, $datetime2); 
echo $interval->format('%R%a days'); 
//%R is used to show +ive or -ive symbol and %a is used to show you numeric difference 
0
$dnow = "2016-12-1"; 
$dafter = "2016-12-11"; 
$dnow=date_create($dnow); 
$dafter=date_create($dafter); 
$difference=date_diff($dnow,$dafter); 
+0

@krunal 답변이 중복되었습니다. – Mohammad

+0

의견을 제거하십시오 제 답변을 편집했습니다 –

+0

변수 이름 만 변경되었지만 해결 방법은 동일합니다. – Mohammad

관련 문제