2016-08-01 11 views
1

Ich verwende mktime(), um den Zeitstempel des Eingabedatums zu erhalten. Hier ist mein Code:Php mktime() gibt den falschen Wert für Stunde, Minute, Sekunde zurück. Wie repariert man?

` $dayFrom = $this->request->getPost('day-from'); 
    $monthFrom = $this->request->getPost('month-from'); 
    $yearFrom = $this->request->getPost('year-from'); 
    $starttimestamp = mktime(0, 0, 0, $monthFrom, $dayFrom, $yearFrom); 
    $endtimestamp = mktime(23, 59, 59, $monthFrom, $dayFrom, $yearFrom);` 

Und wenn ich das Ergebnis

erhalten

$starttimestamp = 1469829600 $endtimestamp = 1469915999

ich versuche, es zu konvertieren zurück mit http://www.epochconverter.com/ zu überprüfen, ob es richtig ist, aber es 7/30/2016, 5:00:00 für start time zeigen und 7/31/2016, 4:59:59 AM für end time.

Warum gibt es Fehler bei Umwandlung der Stunden, Minuten und Sekunden in mktime()

Antwort

0

Sie zuerst die date_default_timezone_set, kann es Ihre Warnung lösen und diesen Code verwenden, um Zeitstempel in lesbare Zeit echo date('m/d/Y H:i:s', 1299446702);

zu konvertieren