differenz von 2 Uhrzeiten in Minuten
Daniel
- php
Hi,
ich hab da ein problem nähmlich ich bekomme es nicht n´hin 2 uhrzeiten
so miteinander zu berechnen das ich die differenz in minuten bekomme.
also die differenz zwischen 17Uhr und 20Uhr soll mir 180 minuten geben.
die uhrzeiten stehen im Format HH:MM:SS in einer DB
$beginn = "17:00:00";
$ende = "20:00:00";
$time_beginn = mktime(substr($beginn, 0 , 1), substr($beginn, 3 , 4), substr($beginn, 6 , 7));
$time_ende = mktime(substr($ende, 0 , 1), substr($ende, 3 , 4), substr($ende, 6 , 7));
$time = $time_ende - $time_beginn;
$dauer_lang = date("H-i", time($time));
$stunden = substr($dauer_lang, 0 , 1);
$dauer = $stunden*60 + substr($dauer_lang, 3 , 4);
er gibt mir aber als dauer immer 62 aus. dabei sind es 2h und 60
minuten also 180 minuten. kann mir jmd von euch helfen? gibt es vll
für mein problem besser geeignet funktionen?
MfG
echo $begrüßung;
$beginn = "17:00:00";
$time_beginn = mktime(substr($beginn, 0 , 1), substr($beginn, 3 , 4), substr($beginn, 6 , 7));
Tritt der fehler immer noch auf, wenn du substr jeweils mit den "richtigen" (Längen-)Parametern fütterst?
echo "$verabschiedung $name";
Hi,
Tritt der fehler immer noch auf, wenn du substr jeweils mit den "richtigen" (Längen-)Parametern fütterst?
upsa, das ist ja die länge, da muss dann natürlich 2 hin,
so habs geändert, komischerweise brachte er mir zuerst als diff
15-23
also hab ich die stunden auf 12er format geändert.
dann viel mir auf das time() den aktuellen time() den aktuellen
timestamp zurückgiebt. Also hab ich das rausgeschmissen.
dann brachte er mir als differenz zeit von 17uhr bis 20uhr 4h, also hab
ich mal von 17uhr bis 17uhr gemacht, warum bringt er mir da als
differenz 1h?
MfG
echo $begrüßung;
also hab ich mal von 17uhr bis 17uhr gemacht, warum bringt er mir da als differenz 1h?
Das weiß ich momentan auch noch nicht. Wenn du allerdings mit Zeiten rechnen willst, solltest du immer die GMT-Funktionen verwenden (die beginnen mit gm), sonst hast du auch noch andere "lustige" gesetzesbedingte und andere lokal abhängige Effekte drin.
echo "$verabschiedung $name";
Hi,
Das weiß ich momentan auch noch nicht. Wenn du allerdings mit Zeiten rechnen willst, solltest du immer die GMT-Funktionen verwenden (die beginnen mit gm), sonst hast du auch noch andere "lustige" gesetzesbedingte und andere lokal abhängige Effekte drin.
ich denke das es so ok ist wie ich es jetzt siehe hier
https://forum.selfhtml.org/?t=108857&m=678963
gelöst habe. es geht dabei um eine kursverwaltung und der kurs beginnt
zu irgendeiner uhrzeit am tag und geht nicht über 24 uhr hinaus.
voraussichtlich werden die kurse in einem bereich zwischen 8 und 20uhr
stattfinden. sollte ich mal weitere uhrzeit und oder datumsrechnungen
welche über einen längeren zeitraum als 12h gehn machen müssen werde ich
mich aber daran erinner.
Oder siehst du etwa problem bei dieser Lösung in diesem speziellen fall?
MfG
Moin!
es geht dabei um eine kursverwaltung
... *beziehungknüpf* ...
Sind es offene IT-Kurse? Wenn ja: Hast Du Lust irgendeine http-basierte Schnittstelle zu it-schule.de zu errichten?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
Sind es offene IT-Kurse?
was sollen offene IT-Kurse sein? Also es sind kurse aus dem IT-Bereich.
Von der Arbeit mit Word, Excel, Photoshop etc. bis hin zu sachen um
Windowze doesn't work Station und Linux.
Wenn ja: Hast Du Lust irgendeine http-basierte Schnittstelle zu it-schule.de zu errichten?
Wenn dann müsst ich mal meinen Arbeitgeber fragen für den ich das ganze erstelle.
MfG
Hallo.
was sollen offene IT-Kurse sein?
Sich mit EDV befassende Kurse, die so wenig auf die individuellen Bedürfnisse eines einzelnen Kunden angelegt sind, dass jeder Interessent an ihnen teilnehmen kann. Darunter fallen die Volkshochschulkurse ebenso wie ein großer Teil der von Schulungsunternehmen angeboten Kurse. Zu erkennen sind sie häufig an veröffentlichten festen Terminen.
MfG, at
Moin!
Du hast prinzipiell recht. Nur:
Sich mit EDV befassende Kurse, die so wenig auf die individuellen Bedürfnisse eines einzelnen Kunden angelegt sind, dass jeder Interessent an ihnen teilnehmen kann.
Passt seit dem Jahr 2003 zumindest für meine Gegend nicht mehr. Meistens buchen irgendwelche Firmen die Seminare, falls es überhaupt Interessenten gibt, komplett und wenn sich mitten im eigentlich offenen (weil öffentlich ausgehangenen) Linux-Grundlagen-Seminar herausstellt, dass die beiden Teilnehmer vielmehr lediglich an Samba interessiert sind, dann wird eben genau das (überwiegend) gemacht.
Aber als Definition des Begriffes "offenes IT-Seminar" ist Deine Beschreibung goldrichtig. Zumindest in "normalen" Zeiten.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Wenn dann müsst ich mal meinen Arbeitgeber fragen für den ich das ganze erstelle.
Der kann mich gerne kontaktieren. Ich fände es sehr interessant das mal mit einem Anbieter als Pilotprojekt durchzuziehen. Ihm hilft es beim Verkaufen und mir beim Projekt. Das ist doch was.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Also ich hätte es wohl in etwa so gemacht:
$foo = substr($beginn, 6, 7)+(substr($beginn, 3, 4)*60)+(substr($beginn, 1, 2)*60);
$bar = substr($ende, 6, 7)+(substr($ende, 3, 4)*60)+(substr($ende, 1, 2)*60);
$time = $bar-$foo;
Gruß
Carl
Hi,
danke für den denkanstoß, habs jetzt so gemacht:
$time_beginn = substr($beginn, 0 , 2)*60 + substr($beginn, 3 , 2) + substr($beginn, 6 , 2)/60;
$time_ende = substr($ende, 0 , 2)*60 + substr($ende, 3 , 2) + substr($ende, 6 , 2)/60;
$dauer = $time_ende - $time_beginn;
und schon hab ichs.
MfG
Moin!
die uhrzeiten stehen im Format HH:MM:SS in einer DB
Wenn das Feld dann auch noch als TIME angelegt ist, und nicht etwa als VARCHAR, dann kannst du wunderbar mit den wahrscheinlich vorhandenen Datumsfunktionen der Datenbank direkt die Differenz zwischen den beiden Zeiten ausrechnen lassen - ggf. zunächst als Sekundenzahl, mit Division durch 60 wird dann eine Minutenzahl draus.
Deinen gesamten PHP-Code kannst du dann komplett einmotten, er wird nicht benötigt.