Seite 1 von 1
Zeitdifferenz in sec
Verfasst: 31.07.2006 15:56
von HoDam
Hallo, wie kann ich eine Zeitdifferenz berechnen.
Mit Date() hole ich den Zeitstempel.
Einmal zu Anfang, dann zum Ende der Routine.
Subtrahiere Anfang von ende und erhalten einen vergangen Zeit. Wie muss ich den jetzt formatieren, das ich eine Zeiteingabe ins z.B.= 00:00:12 erhalte
Dankeschön
Verfasst: 31.07.2006 16:09
von Sven
Code: Alles auswählen
FormatDate()
Syntax
Text$ = FormatDate(Maske$, Datum)
Beschreibung
Gibt das 'Datum' in einem formatierten String zurück, abhängig von der angegebenen 'Maske$'. 'Maske$' ist ein String, welcher definiert, wie das Datum formatiert werden soll. 'Maske$' akzeptiert einige reservierte Zeichen:
%yyyy: wird durch den Jahres-Wert ersetzt, benutzt 4 Stellen.
%yy: wird durch den Jahres-Wert ersetzt, benutzt 2 Stellen.
%mm: wird durch den Monats-Wert ersetzt, benutzt 2 Stellen.
%dd: wird durch den Tages-Wert ersetzt, benutzt 2 Stellen.
%hh: wird durch den Stunden-Wert ersetzt, benutzt 2 Stellen.
%ii: wird durch den Minuten-Wert ersetzt, benutzt 2 Stellen.
%ss: wird durch den Sekunden-Wert ersetzt, benutzt 2 Stellen.
Beispiel:
Debug FormatDate("J=%yyyy, M= %mm, T=%dd", Date()) ; zeigt das aktuelle Datum in
; der Form "J=2002, M=10, T=03"
Debug FormatDate("%hh:%ii:%ss", Date()) ; zeigt die aktuelle Zeit mittels dem 00:00:00 Format
Verfasst: 31.07.2006 16:11
von Tafkadasom2k5
Hey!
Arbeite lieber mit
Damit bekommst du die Millisekunden zurück, die das Programm schon läuft.
Jetzt machst du das Gleiche, was du mit Date() gemacht hast, und wandelst in Sekunden um (oder in Minuten, oder whatever).
Oder dauert die Prozedur mehrere Tage?
Gr33tz
Tafkadasom2k5
Edit:
Ich bin mir nicht sicher, ob das ein Befehl mit " _ " ist (also WinAPI), oder nativ ist, und kann gerade nämlich auch nicht nachschauen.
Gebs einfach mal in die Forensuche ein, da gibt es genug Beispiele.
Verfasst: 31.07.2006 17:06
von HoDam
So genau brauche ich es nicht
hier mein Ansatz
Code: Alles auswählen
startP = Date()
;-hier kommt die Routine hin
EndP = Date()
debug StrF(EndP - startP,0)+ " sec"
Verfasst: 31.07.2006 18:40
von Jilocasin
@Tafkadasom2k5
Tafkadasom2k5 hat geschrieben:Damit bekommst du die Millisekunden zurück, die das Programm schon läuft.
Hö? Das wäre mir neu
Die Hilfe hat geschrieben:Gibt die aktuelle Anzahl an Millisekunden seit dem Start des Computers zurück.
Verfasst: 31.07.2006 21:55
von Kaeru Gaman
ich denke, das heißt
so wie Taf das geschrieben hat, wärs ne API-funktion, aber die heißt anders.
aber mit der zeitermittlung wärs mEn wirklich einfacher:
Code: Alles auswählen
Timer = ElapsedMilliseconds()
; ------
; zu messender Programmabschnitt
; ------
Timer = ElapsedMilliseconds() - Timer
sec = Timer / 1000
das genügt, wenn du die sekunden angeben willst.
wenn die routine länger als 60sec dauern kann, musst du den wert halt aufteilen.