나는 내 문제에 대한 답을 찾기 위해 노력 해왔다. 하나는 찾지 못했고, $ start에 대한 입력 날짜가 주어진. 그러나 시간이없는 날짜 필드를 사용하여 동일한 작업을 수행하면 오류가 발생합니다.PHP를 사용하여 필드 날짜와 현재 날짜 사이의 일 수를 찾는 방법
<?php
$start = new DateTime('2011-10-12');
$today = new DateTime();
$days = round(abs($today->format('U') - $start->format('U'))/(60*60*24));
echo $days;
?>
은 146을 메아리.
그러나 나는 테이블 필드 등으로 $가을 시작 대체하는 경우 :
$start = $demurage2[DC_date];
echo $start;
$today = new DateTime();
$dcdate = round(abs($today->format('U') - $start->format('U'))/(60*60*24));
echo $dcdate;
오류 : 치명적인 오류 : 비 개체의 멤버 함수 형식()에서에 전화 나는 단지 $을 시작 에코 시도 490
라인에 /home/tech17/public_html/svga/invoice-detail.php, 그것은 테이블에서 올바른 날짜를 보여줍니다 : 2012-01-17.
두 번째 예의 $ start의 내용은 무엇입니까? DateTime 객체가 될 것으로 기대하고 있지만 MySQL에서 바로 나온 경우 YYYY-MM-DD 형식의 문자열 일 가능성이 큽니다. – liquorvicar
$ 시작시 반향, 테이블에서 정확한 날짜 값 제공 : 2012-01-17, 문자열인지 확실하지 않습니다. 이 경우 다시 변환해야합니까?, 끝날 때 며칠 만에해야합니다. – user1114409