Laufzeitformatierung


#1

Hi,

diese Frage geht an alle Skript-Gurus da draußen.
In einem meiner Skripte möchte ich die Laufzeit in diesem Format anzeigen lassen:
"xx Tage + xx:xx:xx" (von links nach rechts Tage, Stunden, Minuten, Sekunden)
Aber wenn die Laufzeit unter einem Tag ist möchte ich, dass nur die Stunden angezeigt werden.

Irgendwelche Ideen?

MfG Jonas


#2

Hoffentlich entäußere ich mich jetzt nicht als "Skript-Guru" ...

Die Ausgabe der Mp3tag technischen Informationsvariable %_total_time% sieht zum Beispiel so aus: 2 Tage, 10:09:16. Damit könnte man eigentlich schon zufrieden sein.

Mit $replace(%_total_time%,', ',' + ') sollte auch das Pluszeichen machbar sein.

Bei einer %_total_time% Totalzeit von weniger als einem Tag zeigt %_total_time% sowieso nur "Stunden:Minuten:Sekunden" an.

Wenn du bei weniger als einem Tag nur Stunden angezeigt bekommen möchtest, dann vielleicht so:
$if($eql($regexp((%_total_time%,((\d+ Tage), )(\d+):(\d+):(\d+),$2),),$regexp((%_total_time%,((\d+ Tage), )(\d+):(\d+):(\d+),$3),$regexp((%_total_time%,((\d+ Tage), )*(\d+):(\d+):(\d+),$2 + $3:$4:$5))

Keine Garantie, alles ungeprüft.
Alle Klarheiten beseitigt?

DD.20071219.2000.CET

Mit Stand von heute 2012-07-12 sieht es so aus, dass Mp3tag es nicht anbietet, in einem Exportskript die Skriptfunktionen mit technischen Variablen zusammen arbeiten zu lassen.

Zum Beispiel funktioniert das nicht ...

$replace(%_total_time%,', ',' + ')

$regexp(%_total_time%,'^((\d+ \w+), )*(\d+):(\d+):(\d+)$','|$1|$2|$3|$4|$5|')

Also sollte entweder im Manual diese Unmöglichkeit dokumentiert sein ...
(damit man es gar nicht erst versucht und dabei stundenlang Zeit vergeudet),
... oder, was besser wäre, ...
die Möglichkeit, technische Variablen mit Skriptfunktionen zu bearbeiten, sollte bereit gestellt werden.

DD.20120712.1810.CEST


#3

Danke!

DeineAntwort hat mir weitergeholfen.