Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ewald am 05.05.09 - 14:01:46
-
Hallo zusammen,
nachdem ich die Suche hier erfolglos gequält habe, hier mein Problem:
Ich habe zwei Zeitfelder, in denen ein From-Zeit und eine To-Zeit ausgewählt wird.
Den Zeitraum berechne ich dann mit folgender Formel:
@If (@IsTime (MF_TimFr01) & @IsTime (MF_TimTo01);
@Integer ((MF_TimTo01 - MF_TimFr01) / 3600); 0)
Das funzt aber nur korrekt, wenn die To-Zeit größer ist als die From-Zeit. Hab ich aber z.B. eine From-Zeit von 23:00 und eine To-Zeit von 04:00, dann krieg' ich -19. Aber eigentlich möchte ich ja 5,0. Weil von nachts 23:00 bis morgens 4:00 sind es halt nun mal 5 Std.
Wie krieg ich das denn hin?
Danke
ewald
-
Das Datum mit in die Berechnung einbeziehen
-
Oder Vielleicht funktioniert dieses ja auch noch.
Verfahren so wie bisher nur mit der kleinen Ergaenzung, wenn das Ergebins kleiner 0 (negativ) ist, dann einfach 24 addieren.
(Funktioniert aber nur bei einem Tag)
Andreas
-
@Andreas, das mit 24 addieren werd ich gleich mal testen :-)
@Thomas, wie soll ich denn das Datum da mit einbeziehen? Ich muss eine Zeit-Auswahlbox einblenden und wenn ich ein Datumsfeld + Zeitanzeige mache, dann wird mir das Calender-Control nicht angezeigt :-(
ewald
-
Dann musst Du aber auch den Fall berücksichtigen, dass jemand 02.05.2009 10:00 bis 05.05.2009 14:00 eingibt. Oder 04.05.2009 12:00 bis 05.05.2009 oder eben auch 05.05.2009 12:00 bis 05.05.2009 12:00 Uhr.
Du musst also auch die Datumswerte berücksichtigen.
Bernhard
-
Verstanden Bernhard, nur wie soll ich denn das Datum mit einbeziehen? Wie gesagt: wenn ich aus meinen Datumsfeldern (wo im Moment nur eine Zeit auswählbar ist) Datumsfelder mit Date und Zeit mache, kann man nix mehr auswählen, sondern nur noch eingeben. Es muss aber auswählbar sein
ewald
-
NACH der Eingabe muss das passieren, Ewald! Dein Eingabeverfahren passt schon.
Zur Differenzberechnung führen viele Wege nach Rom. Beispielsweise kannst Du mit @Date aus den jeweils zwei Feldern für Anfang und Ende wieder je einen Wert machen. Und wenn Du dann von Deiner Endzeit (Datum + Zeit) die Anfangszeit subtrahierst, bekommst Du die Differenz in Sekunden.
Bernhard
-
Verstanden Berhard, Danke!