Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: "tickende" uhr mit nur einer zeitmessung

  Alt 5. Apr 2007, 06:32
Zitat von s-konto:
ok, das problem ist folgendes:
[...]
mein problem ist: ich bekomme nur einen einzigen string in diesem format: "YY/MM/DD,hh:mm:ss" wobei mir der erste teil mit dem datum relativ egal ist.
[...]
Hmmm, wäre da die Funktion FormateDateTime() nicht angebracht oder habe ich da was falsch verstanden ??? Zum Beispiel (Code aus einer meiner Komponenten)...

Delphi-Quellcode:
    Caption := TimeToStr(now);
    Caption := DateToStr(now) + ' ' + FormatDateTime('hh:nn', now);
    Caption := FormatDateTime('d. mmmm yyyy' + ' ' + 'hh:nn', now);
    Caption := FormatDateTime('dddd, d. mmmm yyyy', now);
    Caption := FormatDateTime('dddd, d. mmmm yyyy' + ' ' + 'hh:nn', now);

Zitat von s-konto:
jetz wirds schwer. ich hab nen timer mit interval 1000(=1sek) jetzt muss ich jedesmal eine sekunde dazurechnen. aber wie mach ich das mit diesem komischen format TDateTime? um rechnen zu können muss ich ja erstmal in float konvertieren oder geht das anders?
Evtl. könntest Du einen Umweg über einen Zeitstempel (Unix Time Stamp) machen. Hier kannst Du einfach Sekunden addieren und danach wieder in einen TDateTime umwandeln...

Delphi-Quellcode:
const
  UnixStartDate: TDateTime = 25569.0;

VAR TimeZone : Integer; // 1 (für Berlin...)
[...]

function DateTimeToUnix(Datum: TDateTime) : Integer;
begin
  Result := Round((Datum - UnixStartDate) * 86400) - 3600 - (3600*TimeZone);
end;

function UnixToDateTime(Timestamp: Integer) : TDateTime;
begin
  Result := ((Timestamp+3600+TimeZone*3600) / 86400) + UnixStartDate;
end;
SCRaT
Michael Kübler
  Mit Zitat antworten Zitat