Wie kann man in PHP von einer Uhrzeit im Format hh:mm:ss eine bestimmte Anzahl an Minuten abziehen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Eine Lösung von vielen wäre die:

$time = '14:42:30';
$minutes = 60*42; // 42 * 60 Sekunden

$newTime = strtotime($time)-$minutes;

echo strftime('%H:%M:%S', $newTime);

Gruß

Vielen Dank

1

Am einfachsten und zugleich flexibelsten (und natürlich wenn du die timestamp in der datenbank speicherst sogar am kürzesten) wäre die arbeit mit der unix timestamp. Siehe funktion 'time()' und 'date()'. Da musst du dir nicht einen abf*cken um zum ziel zu kommen. Meiner meinung nach ist die unix timestamp wie ein regenbogeneinhorn. Ne coole sache!

selbstverständlich kannst du via date funktion aus der timestamp wieder ein datum etc machen!

0

ich würde die Urzeit in Minuten (oder auch Sekunden) umrechnen. ZB. 06:13 Uhr ist 373 Minuten seit 0:00 Uhr.

Von den 373 dann deinen Wert abziehen. 373-109 = 264 und dass dann wieder umrechnen. Kommt 04:24 dabei raus.

Wenn du ein Datum dazu hättest wärs etwas einfacher. dann könntest du die php date() funktion nützen.

Das ist perfekt. Einen Timestamp oder ein Datum gibt es aus einem bestimmten Grund nicht in dieser Tabelle, denn sie dient als Basis für die Berechnung von Timestamps in einer anderen Tabelle.

0
@klugshicer

Mir ist gerade ein Fehler in deinem Algorithmus aufgefallen. Wenn man von 00:30:00 40 Minuten abziehen würde, dann erhält man eine negative Uhrzeit.

0

java- Zeitumrechner

Hi, ich habe ein Problem bei einem kleinen Java Programm. (Bin Anfänger). Bei meinem Programm soll der User eine Anzahl von Sekunden eingeben. Das Programm soll dann die Zeit in Stunden Minuten und Sekunden umrechnen. Mit dem Format HH:MM:SS.

Hier ist der Programmcode:

import java.util.Scanner;

public class Sekunden {

public static void main(String[] args) {
    double s, m, h, aus;

    System.out.print("Geben Sie eine Anzahl von Sekunden ein. Das Programm wird die Stunden und Minuten errechnen:");
    s=new Scanner(System.in).nextInt();
    System.out.println(s+" Sekunden sind ");

    h=s/3600;
    m=s%3600;
    s=s%3600%60;


    System.out.println((int)h+":"+(int)m+":"+(int)s);
}

}

Hier die Ausgabe:

Geben Sie eine Anzahl von Sekunden ein. Das Programm wird die Stunden und Minuten errechnen:3723 3723.0 Sekunden sind 1:123:3

Ich hab als Beispiel die Zahl 3723 geschrieben. Das wären dann 1:02:03 Stunden. Aber wie ihr seht hört es bei den Minuten nicht bei 60 auf. Wo liegt der F

...zur Frage

Keine Erinnerung, wach gewesen zu sein...

Ich habe innerhalb der letzten Woche beim Aufwachen mehrmals eine Ähnliche Erfahrung gemacht und weiß nicht, was ich tun soll: Ich habe unter der Woche (wenn Schule ist) eigentlich einen ziemlich festen Tagesrythmus und benötige meist nichteinmal einen Wecker, weil mein Biorythmus mich "automatisch" weckt. Jetzt habe ich allerdings Ferien und wache die letzten paar Tage immer gegen 14:00 auf. Ich habe also Wecker gestellt, aber irgendwie bemerke ich sie nicht und schlafe einfach weiter bis ca. 14:00 (Solange habe ich bisher noch nie geschlafen o.O) Das hat auch Konsequenzen vonseiten meiner Eltern gehabt, sodass die jetzt nichmehr so wirklich gut auf mich zu sprechen sind, weil sowas halt normalerweise nicht passiert, trotzdem ich um die selbe Zeit wie immer schlafen gehe (ca. 2:00-2:30) wache ich 6 Stunden zu spät auf.

Doch das eigentliche Problem ist noch eine Nummer größer. Ich habe meinen Eltern klargemacht, dass sie mich halt wecken sollen und das haben sie auch getan, aber ich habe absolut keine Erinnerung daran, wach gewesen zu sein. Sie haben ausführlich beschreiben können, dass ich wach war und sogar auf einige Fragen geantwortet haben soll und im Bett gesessen (statt gelegen) haben soll. Ich hingegen kann mich an nichts dergleichen erinnern. ca. 14:00 ist immer die Zeit, um die ich als erstes wirklich so wach bin, dass ich aufstehe. Und normalerweise stehe ich sofort auf, wenn ich merke, dass ich wach bin (also man muss mich nicht mit nem Eimer Wasser überschütten, damit ich aufstehe, ich muss halt nur angestupst werden, bis ich langsam die Augen öffne). Ich habe auch festgestellt, dass ich meine Wecker sehr wohl mitbekommen habe und auch ausgeschaltet habe, also ich war definitiv mehrmals wach.

Jetzt weiß ich nicht sorecht, was ich tun soll, oder was ich verändern soll, damit ich rechtzeitig aufstehe, heute werde ich mehrere Wecker stellen und sie so laut wie möglich auf einen vom Bett entfernten Tisch stellen, sodass ich aufstehen muss. Bitte nicht: "Geh früher schlafen", das funktioniert auch nicht, weil ich wenn ich mich z.B. gegen 0:00 ins Bett lege mindestens noch eine Stunde wach liege, eher länger, weil ich nicht einschlafen kann. Hoffe, ihr habt das Problem verstanden und könnt mir helfen,


Aragog007

...zur Frage

Datentypenkonflikt in Kriterienausdruck.

Ich habe Folgende Formel (Zur Anschauung strukturiert dargestellt:

Ist: Wenn(IstNull([Zimmerstunde_von]);
Wenn([Start]>[Ende];
    DatDiff("n";[Start];[Ende]+1)/60;
    DatDiff("n";[Start];[Ende])/60);
(Wenn([Start]>[Ende];
    DatDiff("n";[Start];[Ende]+1)/60;
    DatDiff("n";[Start];[Ende])/60))-
(Wenn([Zimmerstunde_von]>[Zimmerstunde_bis];
    DatDiff("n";[Zimmerstunde_von];[Zimmerstunde_bis]+1)/60;
    DatDiff("n";[Zimmerstunde_von];[Zimmerstunde_bis])/60))
)

In den Feldern Start, Ende, Zimmerstunde_von und Zimmerstunde_bis wurden Zeiten im Format von hh:mm:ss eingetragen.

Wenn ich das Skript auf meinem PC ausführe, funktioniert es. Wenn ich die Datenbank auf einem Anderen PC ausführe kommt der Fehler "Datentypenkonflikt in Kriterienausdruck."

...zur Frage

php: SQL Eintrag automatisch löschen

Hallo zusammen,

ich frage mich gerade, wie ich einen MySQL Eintrag automatisch nach einer gewissen Zeit löschen lassen kann? Ich möchte keinen Cronjob nutzen!

Bei mir wäre das wie folgt:

Datenbank->

Datum Name Uhrzeit

  1. 09.11.2014 admin 20:12

  2. 12.11.2014 beate 23:12

usw.

Ich möchte jetzt, wenn 5 Minuten vorüber sind, dass die Zeile "admin" gelöscht wird. Also der Eintrag ist eingegangen, 5 Minuten sind vorüber und dann soll die Zeile admin, also Datum, name und Uhrzeit gelöscht werden.

Wie bekomme ich das ohne cronjob hin?

Über eine Antwort würde ich mich freuen!

Grüße, Hummel

...zur Frage

Was möchtest Du wissen?