E-Mail Templates Uhrzeit ändern

Hallo,

mir ist aufgefallen, dass es bei unserer Bestellbestätigung (Bestellbestätigung Shopware Standard) mit der Uhrzeit nicht stimmt.
Bei dem Mail-Text steht : Ihre Bestellung ist am {{ order.orderDateTime|format_datetime(‚medium‘, ‚short‘, locale=‚de-DE‘) }} bei uns eingegangen.

Beispielsweise erhalten die Kunden: Ihre Bestellung ist am 31.03.2025, 19:39 bei uns eingegangen. Obwohl die Bestellung um 21:39 bestellt wurde.

Die Uhrzeit wird momentan 2 Stunden zu spät angezeigt. Wo kann ich diese anpassen?

Vielen Dank im Voraus für die Hilfe!

Dann wird sehr wahrscheinlich die Uhrzeit auf dem Server falsch eingestellt sein. Stimmt die Uhrzeit denn bei der Bestellübersicht?

Hallo Max_Shop,

vielen Dank für die Antwort.
Tatsächlich stimmt die Uhrzeit in der Bestellübersicht, nur in der E-Mail nicht.
Wo kann ich auf dem Server sonst die Uhrzeit einstellen?

Extrem komisches Verhalten. Kann es sein, dass die Einstellungen (php.ini) zwischen deinen PHP-Versionen unterschiedlich ist?

Cronjobs laufen in der Regel mit php CLI, der Website mit php in Apach/nginx.

In der CLI:
php -r 'echo date("H:i:s") . "\n";'

Über den Browser:

<?php

echo date("H:i:s");

Kann ich bestätigen, hab da nie drauf geachtet, aber Bestellung im Admin zeigt 13:27, Bestellmail sagt 15:27. In der DB steht 13:27. Anscheinend wird die Bestellung als UTC gespeichert und die Ausgabe wird dann teils korrigiert auf die Zeitzone ausgegeben, aber anscheinend nicht im Admin, kann das sein?

Die PHP-Versionen sind gleich eingestellt. Ich weiß nicht, woran es noch liegen kann.

Das ist ja interessant, dass es bei dir auch so ist. Genau, bei mir im Admin wird UTC +2 angezeigt.

Hallo,

gibt es für dieses Problem eigentlich bereits eine Lösung?

Bei uns ist der Fehler wie folgt:

  • Kunde bestellt um 13:00 Uhr
  • Laut SW Backend: 13:00 Uhr
  • Bestätigung E-Mail an den Kunden: 15:00 Uhr

Folgende Änderung bringt eine Veränderung:

  • Text im E-Mail Template (Bestell Bestätigung) geändert
  • Neuer Eintrag:

    Herzlichen Dank für Ihre Bestellung - diese ist bei uns am {{ order.orderDateTime|date_modify(„+2 hours“)|format_datetime(‚medium‘, ‚short‘ , locale=‚de-DE‘) }} Uhr eingegangen.
  • Wie man im neuen Eintrag sieht, wird die Uhrzeit +2 Stunden verändert

Problem nach der Änderung:

  • Uhrzeit im Backend stimmt weiterhin bei neuen Bestellungen
  • Wird die Bestellung von uns im Backend für den Kunden angelegt, dann stimmt die Uhrzeit
  • Bestellt der Kunde selbst im Frontend, dann ist die Uhrzeit immer noch 2 Stunden voraus

Es ist zum verrückt werden, denn eigentlich wird in allen Fällen das selbe E-Mail Template verwendet …

Liebe Grüße!