Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Milliseconds --> TDateTime (https://www.delphipraxis.net/80518-milliseconds-tdatetime.html)

bingo72 10. Nov 2006 07:32


Milliseconds --> TDateTime
 
Hallo Delphi-Kollegen!!

Ich habe einen Zeitwert in reinen Millisekunden vorliegen und ich möchte diesen Wert in hh:nn:ss ausgeben.
Jetzt ist mir schon klar, daß ich eine Routine basteln kann, wo ich (MSec > 100 = Sec Sec > 60 = Min...etc.) umrechne. Aber gibt es dafür nicht schon vorgefertigte Routinen??
Was mich nicht glücklich gemacht hat sind Spielereien mit MSecToTimeStamp --> TimeStampToDateTime und auch EncodeTime mag es nicht, wenn man ihm einen riesigen Wert an Millisec. übergibt??!!

Any Ideas??

LG
Thomas

marabu 10. Nov 2006 08:10

Re: Milliseconds --> TDateTime
 
Hallo Thomas,

wie wäre es damit:

Delphi-Quellcode:
var
  msecs: Cardinal;
begin
  ShowMessage(TimeToStr(msecs * MSecsPerDay));
end;
Grüße vom marabu

TeronG 10. Nov 2006 08:12

Re: Milliseconds --> TDateTime
 
DecodeDateTime könnte dir helfen.

Evtl. vorher die Millisekunden in kommatage umrechnen. (86.400.000 á tag)

EDIT: :wall: natürlich ... TimeToStr
:shock: es giebt 'MSecsPerDay' als constante ...

Der_Unwissende 10. Nov 2006 08:18

Re: Milliseconds --> TDateTime
 
Zitat:

Zitat von bingo72
Jetzt ist mir schon klar, daß ich eine Routine basteln kann, wo ich (MSec > 100 = Sec Sec > 60 = Min...etc.) umrechne.

Hi,
das solltest auf jeden Fall sein lassen! MSec > 1000 wäre schon richtiger :wink:

Gruß Der Unwissende

bingo72 10. Nov 2006 08:35

Re: Milliseconds --> TDateTime
 
Aja logo --> Milli = 1000!!

Nach langen Herumprobieren hab ich mich doch für einen anderen Weg entschieden, wo ich meine Werte nicht in MilliSec vorliegen habe...danke für Eure Vorschläge!!

Darkchild 10. Nov 2006 10:40

Re: Milliseconds --> TDateTime
 
Du kannst doch auf die Funktionen von DateUtils zugreifen.

Erst die Millisekunden übergeben an Minutesbetween() und dann die Sache weiterüberreichen in eine Variable mit dem Datentyp Ttime packen und ausgeben lassen oder wenn nötig vorher noch in einen String konvertieren.

Gruss
Darkchild


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz