Uhrzeiten, Zeitdauer
Ich habe zwei Felder vom Typ Uhrzeit. Wenn ich die befülle mit einem Button mit der Funktion Anfang := time() und später Ende := time() und mir per Berechnugnsfeld die Dauer dazwischen ausrechnen lassen möchte kommt z.B. bei einer Minute Abstand 0:00:32.722 oder ähnliches heraus. Fülle ich die Uhrzeitfelder manuell steht dort, wie gewünscht 0:01. Ich tippe deshalb, es liegt am time() Befehl. Was mache ich falsch?
5 Antworten
-
Ich denke, weil das Sekunden sind. Stoppe mal genau eine Minute zwischen beiden Einträgen und schaue dann nochmals...
-
Ja, die leidige Zeitberechnung ... Die Anzeige ist im Prinzip wahrscheinlich korrekt (32 Sekunden und 722 Tausendstel). Man könnte sie mit format() entsprechend aufbereiten, allerdings bekommt man dann eine Stunde mehr (vermutlich wg. Sommerzeit). Pragmatischer Vorschlag: Statt des Berechnungsfeldes ein Datenfeld vom Typ Zeitdauer nehmen und dessen Zahlenformat auf "61:16" einstellen. Die Berechnung und Zuweisung dann mit dem Schaltflächen-Code vornehmen (Dauer := Ende - Anfang).
-
Hallo Dirk,
das sind sogar Millisekunden die mit time() übergeben werden. Mit :
---
Anfang := time(number(format(now(), "HH")), number(format(now(), "mm")))
Ende := time(number(format(now(), "HH")), number(format(now(), "mm")))
---
Sollten die Felder auf Minuten abgerundete Werte bekommen
Leo
-
Und wieder zu spät
-
Nee, nicht zu spät. Ist ja eine Alternative, wenn man es unbedingt mit einem Funktionsfeld machen will.
Content aside
- vor 3 JahrenZuletzt aktiv
- 5Antworten
- 718Ansichten