2017-03-06 6 views
1

Ich möchte die Zeitdifferenz zwischen der aktuellen Zeit und der Uhrzeit berechnen, die in der Datenbank gespeichert sind. d/M/y H:i:s A ist das Format, in dem MS SQL Datum und Uhrzeit speichert. Der folgende Code gibt den falschen Wert zurück.Berechne den Zeitunterschied für das Datumsformat ('d/M/y H: i: s A')

function time_difference($created_time) 
{ 
    $str = $created_time;    // 03/Mar/17 12:35:00 PM 
    $today = date('d/M/y H:i:s A'); // 06/Mar/17 06:35:15 AM 
    $time_difference = $today - $str; // Returns 3 
} 

ist es trotzdem $str und $today auf Sekunden zu konvertieren?

+0

'$ time_difference = strtotime ($ heute - $ str);' es gibt Ihnen einen Unterschied in Sekunden –

+0

@Anant gibt Boolean false –

+0

@Anant Du meinst wahrscheinlich 'strtotime ($ today) - strtotime ($ str)' – MarianD

Antwort

3

tun es unten wie: -

<?php 
function time_difference($created_time) 
{ 
     $str = $created_time;    // 03/Mar/17 12:35:00 PM 
     $today = date('d/M/y H:i:s A'); // 06/Mar/17 06:35:15 AM 
     return $time_difference = strtotime(str_replace('/','-',$today)) - strtotime(str_replace('/','-',$str)); 
} 

echo time_difference("03/Mar/17 12:35:00 PM"); 

Ausgang: - https://eval.in/748622

+0

Ja! Danke es funktioniert :) –

+0

@ Mànìkàndàn froh, Ihnen zu helfen :) :) –

1
function time_difference($created_time) 
{ 
     $created = DateTime::createFromFormat('d/M/y H:i:s A', $created_time); 
     return strtotime('now') - $created->getTimestamp(); 
} 
+0

Dies gibt int 0 –

+0

Überprüfen Sie mit dem aktualisierten Code – sam

+0

Ja bro! Das funktioniert auch .. Danke –

1
<?php 
function time_difference($created_time, $date ='',$new_date ='',$time_diff ='') 
{ 

    $date = DateTime::createFromFormat('d/M/y H:i:s A', $created_time); 
    $new_date = $date->format('Y-m-d h:i:s'); 
    $time_diff = strtotime(date('Y-m-d h:i:s')) - strtotime($new_date); 
    return $time_diff; 
} 
echo time_difference('03/Mar/17 12:35:00 PM'); 
?> 

Working demo

Verwandte Themen