![]() |
sekunden zu zeit?
Hallo leute,
Habe leider wieder mal ein kleines Problem. Es geht darum, sekunden in Zeit umzuwandeln. Ich habe schon jeden Code versucht, den ich hier finden konnte, aber keiner funktioniert so wie ich es möchte. Zurzeit benutze ich diesen Code:
Delphi-Quellcode:
dieser code wandelt aber leider irgendwie nur bis zu 23:00:00 um,
function SecondsToTime(wSeconds: Word): TDateTime;
begin result := wSeconds / (24 * 60 * 60); end; und ich brauche aber Tage:Stunden:Minuten:Sekunden. Wie kann ich das jetzt machen? vielen dank schon mal mfg headi |
Re: sekunden zu zeit?
Sollte so gehen:
Delphi-Quellcode:
function FormatTime(t: int64): string; { (gettime by Assarbad) }
begin result := IntToStr(t mod 1000); case t mod 1000 < 100 of true: result := '0' + result; end; t := t div 1000; // -> seconds result := IntToStr(t mod 60) + ' Sekunden ' + result; case t mod 60 < 10 of true: result := '0' + result; end; t := t div 60; //minutes result := IntToStr(t mod 60) + ' Min ' + result; case t mod 60 < 10 of true: result := '0' + result; end; t := t div 60; //hours result := IntToStr(t mod 24) + ' Std ' + result; case t mod 60 < 10 of true: result := '0' + result; end; result := IntToStr(t div 24) + ' T ' + result; end; |
Re: sekunden zu zeit?
Oder so:
Delphi-Quellcode:
Grüße vom marabu
// uses DateUtils;
function SecondsToTime(seconds: Cardinal): TDateTime; begin Result := seconds / SecsPerDay; end; |
Re: sekunden zu zeit?
Danke erst mal, geht aber irgendwie nicht:
erste funktion: eingabe= 3600 sekunden (1Stunde) ausgabe= 0 T 00 Std 00 Min 03 Sekunden 600 //falsch code:
Delphi-Quellcode:
Edit2.Text:=FormatTime(StrToInt64(Edit1.Text));
zweite funktion: eingabe= 86399 sekunden (23:59:59) ausgabe= 23:59:59 // korrekt eingabe= 86399 sekunden (01 Tag 00:00:01) ausgabe= 31.12.1899 00:00:01 // falsch code:
Delphi-Quellcode:
vielen dank schon mal für eure hilfe
Edit2.Text:=DateTimeToStr(SecondsToTime(StrToInt(Edit1.Text)));
mfg headi |
Re: sekunden zu zeit?
Zitat:
|
Re: sekunden zu zeit?
Zitat:
Funktioniert jetzt perfekt... man das ich da nicht selbst draufgekommen bin... :oops: greez headi |
Re: sekunden zu zeit?
Hallo Pascal,
wer hat dir gesagt, dass du eine Zeitmenge einfach in ein Datum umwandeln kannst? DateTimeToStr() ist einfach fehl am Platz:
Delphi-Quellcode:
Freundliche Grüße vom marabu
function LongTimeToStr(seconds: Cardinal): string;
var dt: TDateTime; days: Integer; begin dt := seconds / SecsPerDay; Result := TimeToStr(dt); days := Trunc(dt); case days of 0: Result := TimeToStr(dt); 1: Result := IntToStr(days) + ' Tag ' + TimeToStr(dt); else Result := IntToStr(days) + ' Tage ' + TimeToStr(dt); end; end; |
Re: sekunden zu zeit?
Zitat:
habe gedacht wenn es diese funktion schon gibt stimmt die auch.. war wohl einfach nicht so. vielen dank... funktioniert jetzt auch mfg pascal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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 by Thomas Breitkreuz