Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Zeit(TDateTime) in Minuten berechnen?
bruce185 - So 06.09.09 11:36
Titel: Zeit(TDateTime) in Minuten berechnen?
Hallo,
ich möchte die aktuelle Zeit - die angegebene Zeit von meinem Programm berechnen und die Minuten ausgeben.
z.B.
wenn es jetzt z.B. 12:00 Uhr ist und in meinem Programm 15:30 Uhr angegeben wurde, dann möchte ich berechnen, in wieviel Minuten wieder 12 Uhr ist u.s.w.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var Zeit1,Zeit2: TDateTime; begin Zeit1 := StrToTime(edtStunden.Text+':'+edtMinuten.Text);
Zeit2 := Time; |
Wie berechne ich das jetzt am einfachsten?
MfG
Delete - So 06.09.09 11:42
Schau Dir einmal DateUtils.MinutesBetween an.
bruce185 - So 06.09.09 11:55
Danke Dir.
Damit kann ich nur die Differenz zwischen den beiden Zeit werten berechnen.
z.B. ist es jetzt 12:00 Uhr und in meinem Programm angegeben 15:30 Uhr.
Ein Tag hat 24 Stunden, also wäre es in 1230 Minuten wieder 12 Uhr.
oder es ist jetzt 15:30 Uhr und in meinem Programm angegeben 12:00 Uhr, dann wäre es in 210 Minuten 15:30 Uhr u.s.w.
Danke schonmal.
MfG
Delete - So 06.09.09 12:00
Ich versteht nicht ganz, welche Zeitdifferenz Du nun eigentlich ausgeben willst. Wozu brauchst Du die aktuelle Zeit? Ist das so gedacht, dass in Deinem Programm eine Uhrzeit angegeben wird und Du nun quasi einen "Minutencountdown" haben willst, der die Minuten bis zum Erreichen der angegebenen Uhrzeit ausgibt?
jfheins - So 06.09.09 12:03
Ich verstehe immernoch nicht was du willst :nixweiss:
| Zitat: |
| oder es ist jetzt 15:30 Uhr und in meinem Programm angegeben 12:00 Uhr, dann wäre es in 210 Minuten 15:30 Uhr u.s.w. |
Aber wenn es jetzt 15:30 Uhr ist dann ist doch in 210 Minuten 19:00 Uhr ?
bruce185 - So 06.09.09 12:10
DeddyH hat folgendes geschrieben : |
| Ich versteht nicht ganz, welche Zeitdifferenz Du nun eigentlich ausgeben willst. Wozu brauchst Du die aktuelle Zeit? Ist das so gedacht, dass in Deinem Programm eine Uhrzeit angegeben wird und Du nun quasi einen "Minutencountdown" haben willst, der die Minuten bis zum Erreichen der angegebenen Uhrzeit ausgibt? |
Genau das habe ich vor, nur weiss ich jetzt nicht genau wie ich das am besten machen soll.
jfheins hat folgendes geschrieben : |
Ich verstehe immernoch nicht was du willst :nixweiss:
| Zitat: | | oder es ist jetzt 15:30 Uhr und in meinem Programm angegeben 12:00 Uhr, dann wäre es in 210 Minuten 15:30 Uhr u.s.w. |
Aber wenn es jetzt 15:30 Uhr ist dann ist doch in 210 Minuten 19:00 Uhr ? |
Da habe ich was falsch gesagt, sry, Du hast recht.
Danke schonmal.
MfG
Yogu - So 06.09.09 12:18
Hallo,
- Rechne die eingegebene Uhrzeit in ein TDateTime um
Addiere den aktuellen Tag (nicht die Uhrzeit) zu deiner berechneten Zeit.
- Prüfe, ob die eingegebene Uhrzeit nach der aktuellen Zeit liegt; wenn nicht, addiere 1 Tag dazu
1 Tag ist genau 1, wenn ich mich nicht irre.
- Berechne die Minuten zwischen den beiden TDateTimes
Verwende MinutesBetween.
Das war's schon ;)
Grüße,
Yogu
Delete - So 06.09.09 12:21
Genauso habe ich mir das auch gedacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function MinutesLeft(aTime: TTime): Integer; begin aTime := Trunc(Now) + Frac(aTime); if aTime < Now then aTime := IncDay(aTime); Result := MinutesBetween(Now,aTime); end; |
bruce185 - So 06.09.09 12:29
Genau so habe ich das gemeint.
Vielen Dank für die Hilfe.
MfG
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!