2017-01-24 2 views
0

Im Versuch, den Unterschied zwischen 2 verschiedenen Daten in Minuten zu erhalten, wird aber nicht korrekt ausgegeben.Differenz zwischen 2 date_time in Minuten

Ex:

$then = "2017-01-23 18:21:24"; 

//Convert it into a timestamp. 
$then = strtotime($then); 
//Get the current timestamp. 
$now = time(); 

//Calculate the difference. 
$difference = $now - $then; 

//Convert seconds into minutes. 
$minutes = floor($difference/60); 

echo $minutes; 

ausgeben 611 Minuten und ist falsch, da von „2017.01.23 18.21.24“ auf „2017.01.24 00.36.24“ hinterher viel mehr als 611 Minuten. Ist mein Code falsch?

Antwort

2

Versuchen Sie, Ihre Standardzeitzone einstellen

date_default_timezone_set('Europe/Copenhagen'); 

Ofc ändern Europa/Kopenhagen für die, die Ihren Bedürfnissen entspricht.

+0

Sie können die verschiedenen Zeitzonen hier sehen: http://php.net/manual/en/timezones.europe.php – Michael

0

Wenn Sie mit oder in der Lage PHP 5.3.x oder höher zu verwenden, können Sie die Datetime-Objekt-Funktionalität nutzen:

$date_a = new DateTime('2010-10-20 08:10:00'); 
$date_b = new DateTime('2008-12-13 10:42:00'); 

$interval = date_diff($date_a,$date_b); 

echo $interval->format('%h:%i:%s'); 

Sie können in einer Vielzahl von Möglichkeiten, um mit dem Format spielen, und sobald Sie haben Datumsangaben in DateTime-Objekten können Sie viele verschiedene Funktionen nutzen, z. B. Vergleich über normale Operatoren. Siehe Handbuch für mehr: http://us3.php.net/manual/en/datetime.diff.php

+0

Vielen Dank für Ihr Feedback, ich genieße viel, aber es löst immer noch nicht mein Problem in Bezug auf was ich versuche zu tun, Ihre nur geben mir eine andere Lösung, und keine Antwort für mein Problem. – Pedro

0

Ich habe Ihren Code überprüft es perfekt funktioniert also, wenn irgendwelche Zweifel see your result

Aber Sie haben falsch, so dass diese Ihre Zeitzone einstellen zu ignorieren.

Verwandte Themen