2016-06-30 16 views
-1

Ich versuche, ein PHP-Skript zu schreiben, das überprüft, ob das aktuelle Datum/die Zeit nach einem bestimmten Datum, sagen 5/5/2017 um 19 Uhr innerhalb variabler Zeitzonen, die der Benutzer wählt.Wie kann ich überprüfen, ob das aktuelle Datum/die aktuelle Uhrzeit in variablen Zeitzonen über einem bestimmten Datum/Uhrzeit liegt?

Also im Grunde, wenn ein Benutzer wählt 5/5/2017 7:00 Uhr in Berg Zeit, es überprüft, ob es nach diesem Datum in Berg Zeit ist und gibt TRUE (oder falsch) zurück. Das gleiche gilt, wenn der Benutzer die zentrale Zeit, die pazifische Zeit usw. auswählt.

Ich weiß, wie man es mit einem regelmäßigen Datum macht, aber wie würde ich es angehen, wenn der Benutzer verschiedene Zeitzonen wählen könnte?

+0

es zu gehen, zeigen Sie uns Ihre besten Versuch und wir werden Sie von dort helfen :) – zanderwar

+0

Wir sind nicht Ihre Arbeitsaffen, aber um eine * normalerweise * genaue Zeitzone zu erhalten, verwenden Sie GEO IP, um die Zeitzone zu erhalten und konvertieren Sie eine Datetime mit Ihrem Datum einschließlich der Zeitzone in einen Unix Timestamp und überprüfen Sie mit php mit 'time()' diese Zahl , wobei 'time()' die aktuelle Serverzeit ist. – Xorifelse

Antwort

0

Datetime verwenden, können Sie eine Uhrzeit und Zeitzone angeben, dann auf die aktuelle Zeit vergleichen:

$date = new DateTime('2017-05-05 07:00:00', new DateTimeZone('TimezoneID')); 
return ($date->getTimestamp() < time()); 
+0

Bitte verwenden Sie nicht DateTime und time() – zanderwar

+0

Warum nicht? Es ist ein schneller Weg, um den aktuellen Unix-Zeitstempel zu bekommen ... – Devon

+0

Natürlich sollte aber nur ein anderes DateTime-Objekt verwendet werden. Imo, Mischen der beiden fühlt sich icky – zanderwar

Verwandte Themen