Ich habe ein wenig Mühe herauszufinden, ob eine Zeitzone eine bestimmte Zeit (lokal in der Zeitzone) überschritten hat.Überprüfen Sie, ob eine Zeitzone eine bestimmte Zeit überschritten hat
So zum Beispiel, wenn die Zeit in London bestanden hat 18:00:00
$tz = new DateTimeZone('Europe/London');
$datetime1->setTimezone($tz); // calculates with new TZ now
if ($datetime1->format('H:i:s') >= strtotime('18:00:00')) {
echo "time has passed";
} else {
echo "time has NOT passed";
}
Das Problem dabei ist, dass strtotime ('18: 00: 00') scheint die Serverzeit zu verwenden . Wenn ich strtotime Echo ('18: 00: 00 '); wird 1470247200 zurückgeben, was die Anzahl der Sekunden seit 1970 ist, aber dies ist nicht die 18:00 Uhr Zeit für eine andere Zeitzone, zum Beispiel America/New_York, die zum Zeitpunkt des Schreibens noch nicht vergangen ist.
Irgendeine Idee, wie dies getan werden kann?
Danke,
Haben Sie die Antwort bekommen? Wenn ja, markieren Sie die richtige Antwort. –