time2string()
*************


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.


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.
     %n, %w, %d, %h, %m, %s
               werden durch die Anzahl der Monate, Wochen, Tage, Stunden, Minuten oder
   Sekunden ersetzt. Die Funktion erkennt, welches die groesste benutzte
               Zeiteinheit ist und rechnet die keineren so um, dass sie zwischen 0 und
   jeweiligen Maximum der Zeiteinheit liegen (59, 23 etc.) liegen.
     %N      wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
   je nachdem welchen Wertd %n haette.
     %W      wird durch die Worte 'Woche' oder 'Wochen' ersetzt,
               je nachdem welchen Wert %w haette.
     %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)
