Antworten:
Da PHP> = 5.2.2 ist, können Sie die DateTime
Klasse als solche verwenden:
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00
# in other words, 2010-05-15 16:00:00 has passed
}
Die an den DateTime-Konstruktor übergebene Zeichenfolge wird gemäß diesen Regeln analysiert .
Beachten Sie, dass es auch möglich ist, time
und strtotime
Funktionen zu verwenden. Siehe Originalantwort .
new DateTime('2010-05-15')
ist nur ein Beispiel. Dies kann ein beliebiges DateTime-Objekt sein, das Sie zuvor initialisiert haben.
$object
handelt sich um ein DateTime-Objekt, das ich verwendet habe if (new DateTime() > $object) {}
und das falsch funktioniert. Funktioniert aber if (time() > $bject->getTimeStamp()) {}
korrekt. @ Salman A
Es gibt auch die DateTime- Klasse, die eine Funktion für Vergleichsoperatoren implementiert.
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ( $dtA > $dtB ) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
Überprüfen Sie die PHP-Funktion strtotime
, um Ihr festgelegtes Datum / Ihre Uhrzeit in einen Zeitstempel umzuwandeln: http://php.net/manual/en/function.strtotime.php
Wenn Sie strtotime
Ihr Datums- / Zeitformat nicht richtig verarbeiten können ("16:00 Uhr" funktioniert wahrscheinlich, aber nicht "um 16:00 Uhr"), müssen Sie Zeichenfolgenfunktionen verwenden, z. B. substr
um Ihr Format zu analysieren / zu korrigieren und Ihren Zeitstempel abzurufen eine andere Funktion, z mktime
.
Vergleichen Sie dann den resultierenden Zeitstempel mit dem aktuellen Datum / der aktuellen Uhrzeit ( if ($calulated_timestamp > time()) { /* date in the future */ }
), um festzustellen, ob das eingestellte Datum / die eingestellte Uhrzeit in der Vergangenheit oder in der Zukunft liegt.
Ich schlage vor, das PHP-Dokument über Datums- / Zeitfunktionen zu lesen und mit einem Teil Ihres Quellcodes hierher zurückzukehren, sobald Sie nicht weiterkommen.
date_default_timezone_set('Asia/Kolkata');
$curDateTime = date("Y-m-d H:i:s");
$myDate = date("Y-m-d H:i:s", strtotime("2018-06-26 16:15:33"));
if($myDate < $curDateTime){
echo "active";exit;
}else{
echo "inactive";exit;
}
$myDate
es gleich sein wird string (0) ""
.