FUNKTION:
string time2string(string format, int time)
ARGUMENTE:
format: String, der das Format der Zeitausgabe festlegt.
time: Eine Anzahl von Sekunden, die ausgegeben werden soll.
ERGEBNIS:
Zeit in String-Form.
BEMERKUNG:
Dies ist keine echte efun, sondern eine in simul_efun
implementierte Funktion.
BESCHREIBUNG:
Der Formatstring wird zurueckgegeben, wobei bestimmte Ersetzungs-
symbole durch passende Daten, die aus der Zeit berechnet werden,
ersetzt werden. Die Ersetzungssymbole funktionieren aehnlich
denen aus 'printf' bekannten Symbolen. Insbesondere kann eine
Feldbreite mit angegeben werden.
Folgende Ersetzungssymbole sind erlaubt:
%% wird durch ein Prozent (%) ersetzt.
%d,%h,%m,%s
werden durch die Anzahl der Tage, Stunden, Minuten
oder Sekunden ersetzt.
Die Routine erkennt, welches die groesste benutzte
Zeiteinheit ist und rechnet die keineren so um,
dass sie zwischen 0 und 59 (bzw. 23) liegen.
%D wird durch die Worte 'Tag' oder 'Tage' ersetzt,
je nachdem welchen Wert %d haette.
%H,%M,%S
werden durch die Worte 'Stunde(n)', 'Minute(n)'
bzw. 'Sekunde(n)' ersetzt.
%X wird durch die groesste Zeiteinheit ersetzt, die
nicht Null ist. Wenn bei %X die Feldbreite 0 angegeben
wird (also %0X), dann wird nicht der ausgeschriebene
Name, sonder eine Abkuerzung fuer die Zeiteinheit
ausgegeben. (Das sind dann 'd','h','m' oder 's'.)
%x wird durch den numerischen Wert dieser Zeiteinheit
ersetzt.
BEISPIELE:
time2string( "%m %M", 60 ) -> "1 Minute"
time2string( "%m %M", 120 ) -> "2 Minuten"
time2string( "%s %S", 125 ) -> "125 Sekunden"
time2string( "%m %M und %s %S" ) -> "2 Minuten und 5 Sekunden"
time2string( "%d:%02h:%02m:%02s", 10000 ) -> "0:02:46:40"
time2string( "%x %X", 3600 ) -> "1 Stunde"
time2string( "%x %0X", 3600 ) -> "1 h"
time2string( "%x %X", 360000 ) -> "4 Tage"
time2string( "%x %0X", 360000 ) -> "4 d"
SIEHE AUCH:
sprintf(E)
|