Ich habe ein PHP-Datetime-Objekt, das ich mit DateTime :: format() in einen String konvertieren wollte. Aber das gibt mir immer ein falsches Datum. Aus irgendeinem Grund erhalte ich immer einen Termin, der einen Tag vor dem Tag liegt, an dem ich meinen Code ausführe, egal welchen Wert ich für das Datum angegeben habe. Mein Datetime-Objekt -PHP Datetime Format() falsches Datum
object(DateTime) {
date => '2017-03-25 00:00:00'
timezone_type => (int) 3
timezone => 'UTC'
}
ich diese verwenden, um die Datetime in einen String formatiert werden -
$myDateObject->format('Y/m/d')
mich gibt -
2017/03/23
Es gibt absolut keinen Code zwischen der Linie, die Drucke das DateTime-Objekt und die Zeile, die das Objekt formatiert, dh es werden keine Änderungen am Objekt vorgenommen.
Wenn es hilft, die Ausgabe meines Servers date -u
gibt Fri Mar 24 06:08:39 UTC 2017
zurück. Auch wenn ich das Datum Zeichenfolge mit Stunden und Minuten mit $myDateObject->format('Y/m/d h:i')
erstelle ich bekommen 2017/03/23 12:00
EDIT
Der Ausgang meines date_default_timezone_get()
ist UTC
date('Y-m-d')
gibt 2017-03-24
dh das heutige Datum
Wie erstellen Sie '$ myDateObject'? Kannst du eine Geige erstellen? –
tut echo 'date ('Y-m-d');' geben Sie auch das falsche Datum? Und welche Zeitzone soll dein PHP-Setup verwenden? Probiere 'date_default_timezone_get' aus. – Gordon