![]() |
Zeitdifferenz in Minuten berechnen
Zeitdifferenz in Minuten berechnen
Habe hier zwei Strings (sZeitVorher und sZeitNachher), die jeweils nur Uhrzeiten (kein Datum!) als string enthalten. sZeitVorher = '23:34:45'; sZeitNachher = '12:23:34'; Wie bekomme ich raus, wieviele Minuten zwischen den beiden strings liegen? sZeitNachher ist dabei *immer* neuer als sZeitVorher. Negative Werte für die "Zeitdifferenz in Minuten" dürften/sollten hoffentlich nicht rauskommen. Google-/DP-Suchtipps für mich? |
Re: Zeitdifferenz in Minuten berechnen
DateUtils.MinutesBetween, aber bei tagesübergreifenden Uhrzeiten könnte das noch Probleme geben.
|
Re: Zeitdifferenz in Minuten berechnen
Moin Invalid_Operation,
leider fällt mir da keine Lösungshilfe ein, sondern nur eine Lösung:
Delphi-Quellcode:
var
tiDiff : Double; wdHour : Word; wdMinute : Word; wdSecond : Word; wdMSec : Word; begin // Erst einmal die Zeitdifferenz berechnen tiDiff := StrToTime(edtNachher.Text)-StrToTime(edtVorher.Text); // Wenn der Wert negativ ist 24 Stunden aufaddieren. // Da die Vorkommastellen die Tage angeben muss 1 addiert werden. if tiDiff < 0 then tiDiff := tiDiff + 1; // und ausrechnen DecodeTime(tiDiff,wdHour,wdMinute,wdSecond,wdMSec); ShowMessage(IntToStr(wdHour*60+wdMinute)); end; |
Re: Zeitdifferenz in Minuten berechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Naamd Christian Seehase,
Dein vorkonfektionierter Lösungsvorschlag ist mir auch ganz recht :thumb: Hab' ihn mal durchprobiert, siehe Anlage :oops: Tausend Dank dafür :cat: :dp: :love: [edit=Sharky]Doppelten Anhang gelöscht. Mfg, Sharky[/edit] |
Re: Zeitdifferenz in Minuten berechnen
Wieso so komplizier?
Delphi-Quellcode:
Minutes := Trunc (0.5 + 1440* (DateTime2 - DateTime1));
|
Re: Zeitdifferenz in Minuten berechnen
Zitat:
Bin mit der Lösung von Christian sehr zufrieden, merke mir aber Deinen Lösungsansatz für später auftauchende Problem vor :thumb: Vielen Dank @all! |
Re: Zeitdifferenz in Minuten berechnen
Zitat:
![]() |
Re: Zeitdifferenz in Minuten berechnen
Zitat:
Da eine Stunde bekanntlich 100 Minuten hat, ist das sogar naheliegend! @Sharky: Danke für das Weglöschen des doppelten Anhangs. Mach doch bitte noch zu hier :angel: |
Re: Zeitdifferenz in Minuten berechnen
So, damit ich nicht als Idiot dastehe, hier noch eine Lösung unter Verwendung von DateUtils:
Delphi-Quellcode:
function MinDiff(const sTime1, sTime2: string): Integer;
var Time1, Time2: TDateTime; begin Time1 := Frac(StrToTime(sTime1)); Time2 := Frac(StrToTime(sTime2)); if CompareTime(Time1,Time2) > 0 then Time2 := IncDay(Time2); Result := MinutesBetween(Time1,Time2); end; |
Re: Zeitdifferenz in Minuten berechnen
Zitat:
Die schärfsten Kritiker der Elche waren selber welche! ZuhuHUHUhumachen oder in K&T verschieben! LG Ein Elch |
Re: Zeitdifferenz in Minuten berechnen
Sorry, aber Threads werden hier nicht zugemacht wenn der Fragesteller seine Lösung hat.
Das hat mehrere Gründe. - Eventuell hat jemand mal das gleiche Anliegen mit einer Ergänung und da ist es naheliegend so ein Thema aufzugreifen und fortzuführen - Auch wenn dir die aktuellen Lösungen zusagen heißt es nicht das es keine besseren oder anderen Lösungen mehr gibt. Wenn das Thema offen bleibt können noch mehrere Varianten gepostet werden und es kann auch durchdiskutiert werden welche Vor- und Nachteile die entsprechenden Lösungen haben. Das hat dann den Vorteil das jemand mit dem gleichen Anliegen sich die für ihn beste Lösung heraus suchen kann. Würden wir einfach zu machen wäre eventuell die benötige Lösung des nächsten mit dem gleichen/ännlichen Problem hier nicht zu finden. -... [Edit] :-D |
Re: Zeitdifferenz in Minuten berechnen
@SirThornberry: OK!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz