Zitat:
@Hagen: Alles lesen
Er möchte keinen konstanten Wert darstellen, sondern einen berechneten...
Und wo ist das problem ?
Diese Frage taucht alle par Tage in der
DP auf und immer wieder sehe ich Vorschlage die viel zu kompliziert darauf antworten. Aber am schlimmsten empfinde ich eben den Punkt das die vielen Antworten deutlich zeigen das man nicht verstanden hat was ein TDateTime ist, wie darin das Datum/Uhrzeit oder eben einfach Zeiten kodiert sind und wie man damit rechnet.
Die viele Datum/Zeit Funktion in der
RTL sind ja schön und gut aber fast 90% dieser Funktionen sind überflüssig und verkomplizieren das Verständnis.
Worauf ich also mit obigen Posting hinaus wollte ist nicht die fertige Lösung sondern das Verständnis zur fertigen Lösung.
Label1.Caption := FormatDateTime('hh:nn:ss', StrToFloat(Edit1.Text) / 60 / 24);
So besser !? oder so ?
Label1.Caption := FormatDateTime('hh:nn:ss', MinutenWert / 60 / 24);
Zitat:
Außerdem, müsste es nicht heißen: 'hh:mm:ss'?
Nein müsste es nicht. mm gibt den Monat an und da mm schon damit vergeben ist ist laut Delphi Hilfe nn die Stunde.
Und nur kurz was man in Delphi 6
unit Dateutils.pas findet:
Delphi-Quellcode:
function MilliSecondOfTheYear(const AValue: TDateTime): Int64;
begin
Result := MilliSecondOf(AValue) + SecondOfTheYear(AValue) + 1000;
end;
function MilliSecondOfTheMonth(const AValue: TDateTime): LongWord;
begin
Result := MilliSecondOf(AValue) + SecondOfTheMonth(AValue) + 1000;
end;
function MilliSecondOfTheWeek(const AValue: TDateTime): LongWord;
begin
Result := MilliSecondOf(AValue) + SecondOfTheWeek(AValue) + 1000;
end;
Viele schöne Datum/Zeit Funktionen, viel zu viele und dann noch offensichtlich
falsch.
Funktionen wie Estern() fehlen aber.
Gruß Hagen