Thema: Delphi Uhrzeit addieren

Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#4

Oder: Uhrzeiten Differenz ermitteln ganz ausführlich

  Alt 30. Dez 2015, 21:58
Hier würde ich erst einmal die beiden Edit-Felder durch zwei Vcl.ComCtrls.TDateTimePicker ersetzen. Danach würde ich das Property Kind dieser beiden Komponenten auf dtkTime ändern, so daß nur Uhrzeiten eingegeben werden können. Benötigst du beides, also Uhrzeit und Datum, nimmst du vier DateTimePicker: jeweils zwei für das Datum und jeweils zwei für die Uhrzeit. Im Property DateTime steht immer das aktuelle Datum nebst Uhrzeit.

Um das komplette Datum zweier DateTimePicker zu ermitteln, benötigst du die Unit System.DateUtils. Dort findest du die beiden Funktionen DateOf und TimeOf: Erstere entfernt den Zeitanteil aus dem TDateTime-Wert, letztere den Datumsanteil. Beide Resultate zusammen ergeben dann das gewünschte Datum:
Delphi-Quellcode:
Function TForm1.GetDateTimeFromPickers(Const Picker_Datum, Picker_Zeit : TDateTimePicker) : TDateTime;
begin
  Result := System.DateUtils.DateOf(Picker_Datum.Date) +
            System.DateUtils.TimeOf(Picker_Zeit.Time);
end;
Damit kannst du nun das Datum der beiden DateTimePicker-Gruppen, die quasi das Start- und das Enddatum darstellen, ermitteln. Nun benötigst du noch den Wert, der die vergangene Zeit zwischen diesen beiden Datumswerten darstellt. In der bereits genannten Unit DateUtils gibt es diverse Between-Funktionen, die genau das tun: Sie liefern die zwischen zwei TDateTime-Werten liegende Zeit wahlweise in Millisekunden, Sekunden, Minuten, Stunden, Tagen, Wochen, Monaten oder Jahren zurück.

Diesen Wert schreibst du dann in das TEdit, in dem du das Ergebnis haben willst, oder auch in ein TLabel oder was auch immer.

Nachtrag:
  1. Dein Posting steht wohl im falschen Bereich, denn mit Datenbanken hat das erstmal nichts zu tun.
  2. Könntest du bei Gelegenheit deine Delphi-Version, mit der du arbeitest, in deinem Profil eintragen? Das wäre unter Umständen hilfreich beim Versuch, dir weiterzuhelfen.
  3. Differenzen zwischen zwei Werten zu ermitteln nennt man Subtrahieren, Addieren dagegen bezeichnet den Vorgang, um die Summe zu berechnen.

Geändert von Perlsau (30. Dez 2015 um 22:07 Uhr) Grund: Nachtrag
  Mit Zitat antworten Zitat