Dauer in Tage und Stunden

Vielmals ist es für den menschlichen Verstand sinnvoller Zeiträume in Tagen und Stunden anzugeben.

Wenn man in FileMaker die Differenz zweier Zeitstempel berechnet, erhält man die Zeitspanne in Sekunden.

Beginn: 01.01.2018 08:00:00
Ende: 02.01.2018 08:00:00

LiesAlsZeitstempel( "02.01.2018 08:00:00" ) - LiesAlsZeitstempel( "01.01.2018 08:00:00" ) ergibt in FileMaker 24:00:00

Wenn um diesen Ausdruck die Funktion LiesAlsZahl() gespannt wird, wird der Wert in Sekunden dargestellt: 86400

86400 Sekunden entspricht 24 Stunden => 1 Minute = 60 Sekunden; 60 Minuten = 1 Stunde => 60 * 60 = 3600 => 1 Stunde ==> 86400 / 3600 = 24 Stunden

Wir möchten nun wissen wie viel Tage dies entspricht, hierzu müssen die Stunden durch die Konstante 24 dividiert werden.

24 / 24 = 1 => 1 Tag

Sollten wir nun statt am 02.01.2018 08:00:00 erst am 04.01.2018 12:00:00 das Ende erreicht haben, dann müssen wir den Rest-Wert (Modulo) von 24 berechnen.

Liesalszahl( LiesAlsZeitstempel( "04.01.2018 12:00:00" ) - LiesAlsZeitstempel( "01.01.2018 08:00:00" ) ) ergibt 273600 Sekunden => 273600 / 3600 = 76 Stunden

Berechnung:

1) 76 / 24 = 3,16666

2) 76 % (Modulo) 24 = 4

Da der Restwert (2) die Nachkommastellen von 1 repräsentieren, ist die Zahl vor dem Komma die Anzahl der Tage.

Ergebnis:

3 Tag(e) und 4 Stunden

FileMaker-Formel

Funktionsname: TageStunden
Parameter: Zeitstempel_Start, Zeitstempel_Ende

SetzeVar([

	stunden = LiesAlsZahl(LiesAlsZeitstempel( Zeitstempel_Ende ) - LiesAlsZeitstempel( Zeitstempel_Start )) / 3600 ;

	konstante = 24

];

	NächsteKleinereGanzzahl ( stunden / konstante) & " Tag(e) " & Mod( stunden ; konstante) & " Stunden"

)

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.