arbeitszeit:= FormatDateTime('dd:hh:nn', zeit) ;
wobei in zeit 2.0000000029999998 steht
nach meinem Verständnis sollten das doch etwas mehr als 2 Tage sein, oder?
Warum bekomme ich dann in arbeitszeit : '01:00:00'
Das Du nicht das bekommst, was Du erwartet hast ist ein Verständnisproblem was die Funktion FormatDateTime eigentlich macht.
Die Funktion zeigt als Ausgabe einen Datumswert an und keine Zeitspanne.
Dies wäre Dir aufgefallen, wenn Du noch yyyy und mm usw. hinzugefügt hättest, Also so:
arbeitszeit:= FormatDateTime('yyyy mm dd hh:nn:ss z', zeit) ;
Dann wäre als String
1900 01 01 00:00:00 0
herausgekommen.
Und bei diesem Wert wärst Du doch nie auf die Idee gekommen, das da jemand schon 1900 Jahre, 1 Monat und 1 Tag gearbeitet hätte.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.