2017-07-25 2 views
0

Ich verwende Carbon in Laravel, um Daten zu bearbeiten. Mir wurde schnell klar, dass meine lokale Kopie von PHP für UTC eingestellt wurde, so in meinem Code ich die Zeitzone in Carbon-bin Einstellung:Laravel - Carbon berücksichtigt keine Sommerzeit

$dt = Carbon::now('America/New_York'); 

Seltsam, es ist immer noch ein Datum auszuspucken, die eine Stunde hinter der New Yorker Zeit ist :

echo $dt; 

Ausbeuten:

2017-07-25 16:29:37

Aber es ist derzeit 5:29 pm

Es scheint, als ob es eine Stunde frei ist, weil es Sommerzeit nicht berücksichtigt. Ich kann nichts über StackOverflow oder Google in Bezug auf die Sommerzeit in Carbon finden, alles, was ich lese sagt nur, wenn Sie die Zeitzone richtig einstellen, wird es für DST allein verantwortlich sein.

+0

haben Sie die 'datetime' in Ihrer' php.ini' Datei überprüft und überprüfen Sie diese [Antwort] (https://stackoverflow.com/questions/27732548/carbon-now-time-wrong) –

+0

Ich überprüfte meine php .ini, es ist auf dasselbe eingestellt: date.timezone = "America/New_York" Leider habe ich nichts anderes in der Antwort gefunden, auf die du verlinkt bist, was das auch erklären würde. – carbide20

+0

versuchen, echo Zeit mit nativen PHP-Funktion wie echo Datum ("Y-m-d h: i: sa"); 'und sehen, ob Sie die richtige Zeit entsprechend Ihrer Zeitzone –

Antwort

0

Entfernen Sie, wo Sie die Zeitzone mit Carbon einstellen.

Innerhalb config/app.php gibt es eine Zeile:

'timezone' => '' 

Set es an:

'timezone' => 'America/New_York' 

Es die Standard-Zeitzone für Ihre Anwendung eingestellt werden. Nach der Einstellung erhalten Sie die DST-angepasste New Yorker Zeit.

Verwandte Themen