2017-11-20 5 views
2

Ich habe eine vorhandene Zeit in DB in h: i A Format Ex: 06.30 ich die aktuelle Zeit bin Bestimmung wie folgt:php date_diff nicht mit der Zeit in h arbeiten: i A Format

$datecalc = new DateTime("now", new DateTimeZone($time_zone)); 
$timesnow = $datecalc->format('h:i A'); //09.00 AM 
//echo $timesnow; 

Aber Folgendes funktioniert nicht ??

$interval = date_diff($timesnow, $time_in_DB); 
echo $interval; //NO RESULT 

$time_in_DB ist auch in h:i A Format.

Warum funktioniert es nicht oder fehlt mir etwas als Neuling ??

+0

Können Sie uns den genauen Wert von '$ time_in_DB' geben Sie Tests sind mit? 'print_r ($ time_in_DB)' und stellen Sie sicher, dass es das ist, was Sie erwarten. – ceejayoz

+5

'date_diff' benötigt zwei' DateTime' Objekte, keine Zeichenketten. – deceze

+0

Sie müssen auch '$ time_zone' nicht in Anführungszeichen setzen. – deceze

Antwort

3

Die date_diff Funktion akzeptiert Datumsobjekte nicht Strings ist hier das richtige Beispiel:

$date1=date_create("9:00 AM"); 
$date2=date_create("6:00 PM"); 
$diff=date_diff($date1,$date2); 
echo $diff->format("%h"); 

es 9 Stunden Differenz drucken

+0

Ich versuchte date_create nur für time_in_DB. Lass mich beides versuchen. – Pamela

+0

Vielen Dank. Ich versuche auch die Minuten zu teilen .. – Pamela

+0

@Pamela du bist willkommen :) – SamaBalaYam

Verwandte Themen