Frage von BPTVEu, 40

PHP Datum - rechnen?

Ich versuche folgendes:

In einer Datei ist eine Uhrzeit gespeichert, im Format Stunde:Minute.

Also z.B. 13:20 etc.

Nun brauche ich eine If-Abfrage, die ausgeführt wird, wenn die dort stehende Uhrzeit mehr als 30 Minuten zurückliegt. Geht das? Danke schonmal :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von TheQ86, 20
if(time() - strtotime("HH:MM") > 1800) { // tu was du willst }
Kommentar von BPTVEu ,

Und HH:MM ist die Uhrzeit, die ich aus der Textdatei auslesen muss?

Kommentar von TheQ86 ,

Genau.

Kommentar von BPTVEu ,

Ok, ich werde es ausprobieren :) Danke :)

Antwort
von yerooke, 20

Du könntest z.B mit mktime das aktuelle Datum mit der Uhrzeit 13:20 als timestamp erstellen und dies mit dem aktuellen timestamp vergleichen.

http://php.net/manual/de/function.mktime.php 

Kommentar von TheQ86 ,

ist nicht nötig. Übergibst du Stunde:Minute an strtotime wandelt er das automatisch um auf "heute um diese uhrzeit" als timestamp. dann nur noch mit time() vergleichen.

Antwort
von ciao01, 19

Klar geht das, ist relativ einfach.

Wenn Die Uhrzeit in einem Datenfeld stehen, frage die letzten zwei zeichen ab und vergleiche diese.

$uhrzeit_2_letzte = substr("$uhrzeit", -2);    // ergibt bei 13:20 ->20

if ($uhrzeit_2_letzte > 30) { ...}


Kommentar von BPTVEu ,

Ich meinte, wenn der Unterschied zwischen der Uhrzeit da und der aktuellen über 30min liegt, dann soll das ausgeführt werden.

Kommentar von ciao01 ,

Geht auch, nimm subtrahiere die beiden zeiten von einander und dividiere durch 60.

$startzeit = strtotime("14:00");

$endzeit = strtotime("14:30");

$dauerInMinuten = ($endzeit - $startzeit)/60;

Resultat:  30

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten