2012-12-07 4 views
0

왜 $ days가 나에게 -0.511111111111 일을 주는지 궁금합니다. $ dc_time-> fields [0]의 값은 2012-12-07 12:16:00입니다. 누군가 문제를 해결할 수 있습니까? 감사. 이 기본 (자정)으로 설정되도록PHP sql Negative Days 결과

$dc_date = $dc_time->fields[0]; 
$today = date('Y-m-d'); 

$dc_date = strtotime($dc_date); 
$today = strtotime($today); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 
+1

정말 그다지 잘못 보이지 않습니까? ** 2012 년 7 월 12 일 12시 16 분 **은 당신 앞에서 약 반나절입니다. (나는 당신의 시간대를 모르겠습니다) 아마도 맞을 것입니다. 정확하게 당신은 무엇을 기대하고 있습니까? – George

+0

네,하지만 왜 십진법 앞에 음수 (-) 기호가 나오는지도 모르겠습니다. $ 오늘 시간은 2012 년 7 월 12 일 15시 10 분입니다. – damdeok

+0

나는 ABS와 라운드를 사용할 수 있지만 뭔가 잘못 생각합니다. 내 데이터베이스에서 $ dc_time-> fields [0]은 disconnecttm (열) smalldatetime (데이터 형식)입니다. – damdeok

답변

1

귀하의 $today 변수는 시간을 얻을하지 않습니다.

$dc_date = $dc_time->fields[0]; 
$today = date('Y-m-d H:i:s'); 

$dc_date = strtotime($dc_date); 
$today = strtotime($today); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 

을 또는 당신이 실제로하지 않으면, 단지 바로 타임 스탬프를 얻을 필요 :

어느 당신의 $today에 시간을 제공

$dc_date = $dc_time->fields[0]; 

$dc_date = strtotime($dc_date); 
$today = time(); 
$delta = $today - $dc_date; 
$days= ($delta/86400); 

스크립트가 시간이라고 생각 앞으로 $today은 00:00:00에 [오늘 날짜]가 될 것이므로 이게 도움이 되길 바란다.

+0

This $ today = date ('Y-m-d H : i : s'); 내가 원하는 것이고 부정적인 가치로 문제를 해결했습니다. 감사. – damdeok

+0

내 친구를 도와 줘서 기쁘다. – George