2016-04-14 15 views
2

Ich habe ein Problem, wo ich die Zeitzone in Lumens Konfiguration nach Europa/London eingestellt habe. Dies funktioniert bis zur kürzlichen Änderung der Sommerzeit, bei der die korrekten Daten created_at und updated_at gesetzt werden, aber wenn ich den Datensatz aufrufe, werden die Datumzeiten so angezeigt, als wäre es UTC und nicht BST/DST.Zeitzone Problem in Lumen

In meiner Datei config/app.php habe ich;

... 

timezone' => 'Europe/London', 

... 

In meinen Routen zur Überprüfung habe ich;

$app->get('mytime', function() { 
    $now = Carbon\Carbon::now(); 
    dd($now, date('Y-m-d H:i:s')); 
}); 

die

Carbon {#35 ▼ 
    +"date": "2016-04-14 10:33:15.000000" 
    +"timezone_type": 3 
    +"timezone": "Europe/London" 
} 

noch zurück, wenn ich eine Platte ziehen, die ein created_at Datum ‚2016.04.14 10.00.00‘ haben sollte sagen es gibt ‚2016.04.14 09:00:00 '.

Jede Hilfe mit dieser Zeitzone Problem würde dankbar erhalten.

Antwort

3

Ich stieß auf die Lösung. Es stellt sich heraus, dass es eine Variable gibt, die Sie der .env-Datei in Lumen hinzufügen müssen, wo Sie mit Datenbanken arbeiten.

DB_TIMEZONE=+01:00 

Es ist wahrscheinlich, dass Sie einen cron-Job hinzufügen müssen werden, um diese Variable auf der Änderung zu aktualisieren und von DST, als ‚Europa/London‘ ist nicht traurig unterstützt.

+0

Das hat bei Lumen 5.1 nicht funktioniert – Zl3n