Eric Harrer Probiere es evtl. mal mit folgender Alternative, die von ChatGPT vorgeschlagen wurde (noch ungetestet):
Das hat leider zu einem Fehler geführt: DateTimeImmutable not found
Ich habe es dann auch mit ChatGPT versucht. Diese Lösung wurde mir vorgeschlagen:
<?php
// Zeitzone setzen (am Anfang des Skripts)
date_default_timezone_set('Europe/Berlin');
// Beispiel: 1. Oktober 2025, 00:00 Uhr
$ts = strtotime("2025-10-01 00:00:00");
echo $ts; // richtiger Unix-Timestamp für 00:00 Uhr in Berlin
echo PHP_EOL . date("Y-m-d H:i:s", $ts);
Alternativ:
<?php
$dt = new DateTime("2025-10-01 00:00:00", new DateTimeZone("Europe/Berlin"));
$ts = $dt->getTimestamp();
echo $ts;
echo PHP_EOL . $dt->format("Y-m-d H:i:s");
Erklärung:
strtotime() selbst berücksichtigt keine Zeitzone im String. Es nutzt immer die aktuell gesetzte PHP-Default-Zone.
- Daher entweder globale Zeitzone setzen (
date_default_timezone_set), oder gezielt mit DateTime/DateTimeZone arbeiten.
Ich habe am Anfang des Skripts die globale Zeitzone gesetzt, und es funktioniert! 🙂
Warum die Einstellung timezone: Europe/Berlin in meiner DDEV config.yaml nicht greift, weiß ich nicht.