AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeit in hh:mm:ss anzeigen

Ein Thema von TheMiller · begonnen am 1. Jun 2008 · letzter Beitrag vom 2. Jun 2008
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Zeit in hh:mm:ss anzeigen

  Alt 1. Jun 2008, 23:24
Hallo,

ich drehe bald mit meinem geliebten Zeit-Funktionen durch... Ich möchte die Zeit messen und das Format hh:mm:ss angeben. Hatte auch einige Versuche schon, aber oftmals war es so, dass die Sekunden über die 60 hinausgehen. Ich arbeite mit einem Timer (Interval 50ms), sowie GetTickCount, mod und div... aber irgendwie ist das für mein Hirn zu durcheinander ... ...

Ich bitte um eine kleine Starthilfe...
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Zeit in hh:mm:ss anzeigen

  Alt 1. Jun 2008, 23:31
Stunden = Sekunden div 3600
Minuten = (Sekunden div 60) mod 60
Sekunden = Sekunden mod 60

Danach musst du es nur noch auf deinem Lieblingsweg zu nem ganzen String zusammenfriemeln
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Zeit in hh:mm:ss anzeigen

  Alt 1. Jun 2008, 23:36
So hatte ich es auch... ABER:

Ich habe folgendes gerechnet

diff:=GetTickDiff(recstart, GetTickCount()); Doch das sind ja keine Sekunden, sondern 1/1000-Sekunden. Ich danke dir...

Also, für alle, die genauso auf dem Schlauch stehen, wie ich:

Delphi-Quellcode:
var
  h, m, s: Integer;
  diff: Integer;
begin
  diff:=GetTickDiff(recstart, GetTickCount()) div 1000; // <- erst durch div 1000 werden es Sekunden!!!

  h:=diff div 3600;
  m:=(diff div 60) mod 60;
  s:=diff mod 60;

  Label2.Caption:=Format('%.2d:%.2d:%.2d', [h,m,s]);

Danke und gute Nacht!
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#4

Re: Zeit in hh:mm:ss anzeigen

  Alt 1. Jun 2008, 23:41
Delphi-Quellcode:
VAR Hour, Min, Sec, mSec: Word;
begin
  Panel1.Caption := TimeToStr(Time);
  StatusBar1.Panels[0].Text := TimeToStr(Time);
  StatusBar1.Panels[1].Text := FormatDateTime ('"Heute ist" dddd, "der" d mmmm yyyy" ', Date);
  DecodeTime(time, Hour, Min, Sec, mSec);
  TrackBar1.Position := Sec;
Zum Download
Quelle
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: Zeit in hh:mm:ss anzeigen

  Alt 1. Jun 2008, 23:42
Zitat von DJ-SPM:
So hatte ich es auch... ABER:

Ich habe folgendes gerechnet

diff:=GetTickDiff(recstart, GetTickCount()); Doch das sind ja keine Sekunden, sondern 1/1000-Sekunden. Ich danke dir...

Also, für alle, die genauso auf dem Schlauch stehen, wie ich:

Delphi-Quellcode:
var
  h, m, s: Integer;
  diff: Integer;
begin
  diff:=GetTickDiff(recstart, GetTickCount()) div 1000; // <- erst durch div 1000 werden es Sekunden!!!

  h:=diff div 3600;
  m:=(diff div 60) mod 60;
  s:=diff mod 60;

  Label2.Caption:=Format('%.2d:%.2d:%.2d', [h,m,s]);

Danke und gute Nacht!
hmmmm geht auch so..

Delphi-Quellcode:
function GetSongPosStr(timeinms: integer): string;
var
  time_s: double;
  hours, minutes, seconds, dsec: integer;
begin

  if timeinms >= 0 then
  begin
    time_s := timeinms * 0.001;
    hours := Trunc(time_s / 60 / 60) mod 60;
    time_s := time_s - (hours * 60 * 60);
    minutes := Trunc(time_s / 60);
    time_s := time_s - (minutes * 60);
    seconds := Trunc(time_s);
    time_s := time_s - seconds;
    dsec := Trunc(time_s * 100);

    if hours > 0 then
      Result := Format('%2d:%.2d:%.2d.%.2d', [hours, minutes, seconds, dsec])
    else
      Result := Format('%.2d:%.2d.%.2d', [minutes, seconds, dsec]);
  end else
    Result := '';
end;
Kann man auch für deine zwecke verwenden

gruss Emil
  Mit Zitat antworten Zitat
Kruemel_02

Registriert seit: 24. Jan 2007
Ort: Friedrichshafen
37 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Zeit in hh:mm:ss anzeigen

  Alt 2. Jun 2008, 11:50
Zitat von DJ-SPM:
Hallo,

ich drehe bald mit meinem geliebten Zeit-Funktionen durch... Ich möchte die Zeit messen und das Format hh:mm:ss angeben. Hatte auch einige Versuche schon, aber oftmals war es so, dass die Sekunden über die 60 hinausgehen. Ich arbeite mit einem Timer (Interval 50ms), sowie GetTickCount, mod und div... aber irgendwie ist das für mein Hirn zu durcheinander ... ...

Ich bitte um eine kleine Starthilfe...
Zum Thema Zeit messen wuerde ich mir mal noch folgenden Threads anschauen:
Zeitmessung mit dem RealTimeCounter
QueryPerformanceCounter


Ansonsten:
MiliSecondsBetween bzw. nochmal MilliSecondsBetween wenn Du zweit TTime bzw. TDateTime Datentypen hast.
Hier noch von einer anderen Seite: Differenz zwischen zwei TDateTime-Werten ausgeben


Zum Ausgeben: FormatDateTime


Vielleicht auch noch zum Thema passend: Delphi Dates and Times
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: Zeit in hh:mm:ss anzeigen

  Alt 2. Jun 2008, 11:55
Danke für die Links. Das kann ich gut gebrauchen... Ich stehe mit den Datums- und Zeitrechenfunktionen, sei es in Pascal oder auch in PHP, absolut auf Kriegsfuß!

Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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