Post by just me » 21 Apr 2018, 03:35
Moin,
Du kannst auch die AHK Kommandos für Datum und Zeit nutzen. Ich hatte damit allerdings ein Problem, bis mir aufgefallen ist, dass
das 23:45:67,890 in dem von Dir gewählten Beispiel ungültig ist.
Code: Select all
Start := "12:34:48,889"
Ende := "23:45:59,890"
Minuend := ConvertToMilliseconds(Ende)
Subtrahend := ConvertToMilliseconds(Start)
Differenz := Minuend - Subtrahend
MsgBox % ConvertToHHMMSSMS(Differenz)
ConvertToMilliseconds(HHMMSSMS)
{
Sekunden := A_YYYY . "0101" . StrReplace(SubStr(HHMMSSMS, 1, 8), ":")
Sekunden -= A_YYYY, S
Return (Sekunden * 1000) + SubStr(HHMMSSMS, 10)
}
ConvertToHHMMSSMS(Millisekunden)
{
Zeitstempel := A_YYYY ; nur der Deutlichkeit halber, AHK rechnet auch mit leeren Variablen
Zeitstempel += % (Millisekunden // 1000), S
FormatTime, HHMMSS, %Zeitstempel%, HH:mm:ss
Return (HHMMSS . Format(",{:03}", Mod(Millisekunden, 1000)))
}
Voraussetzungen, damit das funktioniert:
- Start und Ende müssen gültige Zeitangaben enthalten.
- Ende muss 'später' sein als Start.
- Start und Ende müssen im selben Tag liegen.
Moin,
Du kannst auch die AHK Kommandos für Datum und Zeit nutzen. Ich hatte damit allerdings ein Problem, bis mir aufgefallen ist, dass [color=#BF0000]das[/color] [c]23:45:[color=#BF0000]67[/color],890[/c] in dem von Dir gewählten Beispiel ungültig ist.
[code]Start := "12:34:48,889"
Ende := "23:45:59,890"
Minuend := ConvertToMilliseconds(Ende)
Subtrahend := ConvertToMilliseconds(Start)
Differenz := Minuend - Subtrahend
MsgBox % ConvertToHHMMSSMS(Differenz)
ConvertToMilliseconds(HHMMSSMS)
{
Sekunden := A_YYYY . "0101" . StrReplace(SubStr(HHMMSSMS, 1, 8), ":")
Sekunden -= A_YYYY, S
Return (Sekunden * 1000) + SubStr(HHMMSSMS, 10)
}
ConvertToHHMMSSMS(Millisekunden)
{
Zeitstempel := A_YYYY ; nur der Deutlichkeit halber, AHK rechnet auch mit leeren Variablen
Zeitstempel += % (Millisekunden // 1000), S
FormatTime, HHMMSS, %Zeitstempel%, HH:mm:ss
Return (HHMMSS . Format(",{:03}", Mod(Millisekunden, 1000)))
}[/code]
Voraussetzungen, damit das funktioniert:
[list][*]Start und Ende müssen gültige Zeitangaben enthalten.
[*]Ende muss 'später' sein als Start.
[*]Start und Ende müssen im selben Tag liegen.[/list]