Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: PeterD2 am 22.02.05 - 15:30:51
-
Wenn ich mittels Formelsprache zwei time-date Werte voneinander substrahiere, bekomme ich als Ergebnis immer ein vielfaches von -86400 heraus, was der Anzahl der Sekunden pro Tag entspricht, selbst wenn die beiden Uhrzeiten in den time-date Werten unterschiedlich sind, also als Ergebnis eigentlich kein ganzzahliges Vielfaches von 86400 herauskommen dürfte. Laut Notes Hilfe kann man Datumswerte substrahieren, von Zeiten ist dort nicht die Rede. Wie kann man denn die Zeitdifferenz von zwei Zeiten ermitteln, selbst wenn diese an unterschiedlichen Tagen liegen?
Danke im Voraus
Peter
-
möchtest du jetzt z.B. wissen, wieviel Stunden, Minuten, Sekunden zwischen 10Uhr am 01.02.2005 und 13Uhr am 02.02.2005 vergangen ist?
-
Genau: Ich möchte wissen welche Zeit .B. zwischen gestern 10:00 Uhr morgens und heute 15:45 Uhr vergangen ist. Egal in welcher Einheit (z.B. Sekunden), das kann man ja umrechnen.
-
also ich habe zwei Felder angelegt, in denen Datum und Uhrzeit (22.02.2005 14:54:33 bzw. 15:54:33) angezeigt werden. Dahinter steht ein drittes Feld, dass computed ist mit der Formel Ende_Feld - Anfang_Feld und es wird mir auf die Sekunde genau der Unterschied errechnet!?!
Das funzt bei dir nicht?
-
Du hast nicht zufällig so was probiert:
@Date( feld1 ) - @Date( feld2 )
Oder ???
Dadurch würde nämlich der Zeit- Anteil einfach abgeschnitten und dann kommt man natürlich immer auf vielfache von 86400...
Oder sind Deine Felder "Date-Only" Felder ?
Oder hast Du die Zeit- Information gar in anderen Feldern (also ein Feld Namens StartDate und eines Namens StartTime bzw. EndDate und EndTime ?
dann kann das natürlich auch nicht klappen...
HTH
Tode
-
so machen wir das mit der arbeitszeiterfassung.
allerdings wird die anzahl in std:min angezeigt und nicht dezimal
allerdings will ich noch ein feld pause einfügen, um von der anwesenheit die pause abzuziehen.
habs aber noch nicht hinbekommen
Min := ( End - Start ) / 60 ;
RestMin := @Modulo ( Min ; 60 ) ;
Std := @Hour ( End ) - @Hour ( Start );
StdAnzeige := @If (
@Hour ( End ) <= @Hour ( Start ) & @Minute ( End ) < @Minute ( Start ) ; Std +23 ;
@Hour ( End ) < @Hour ( Start ) & @Minute ( End ) >= @Minute ( Start ) ; Std +24 ;
@Hour ( End ) > @Hour ( Start ) & @Minute ( End ) < @Minute ( Start ) ; Std -1 ;
Std ) ;
RestMinAnzeige := @If (
@Hour ( End ) <= @Hour ( Start ) & RestMin > -60 & RestMin < -50 ; "0" + @Text ( RestMin + 60 ) ;
RestMin < 0 ; @Text ( RestMin + 60 ) ;
RestMin < 10 ; "0" + @Text ( RestMin ) ;
@Text ( RestMin ) ) ;
@If ( Start = "" | End = "" ; "" ;
@Text ( StdAnzeige ) + ":" + RestMinAnzeige )
-
Warum so kompliziert ? das verstehe ich nicht... Notes rechnet ausgezeichnet mit Zeitwerten...
Wenn Du also zwei Felder hast: beide vom Typ "Zeit/Datum":
eines Namens "Ende" und eines Namens "Start", dann machst Du einfach folgendes:
Ergebnis := Ende - Start;
ist Dein Ergebnis- Feld ebenfalls vom Typ "Zeit/Datu", dann schreibst Du unter die Formel einfach noch
Ergebnis;
ist es ein Textfeld (was keinen Sinn macht, aber von mir aus....) dann schreibst Du:
@Text( @Time( Ergebnis ) )
Willst Du automatisch davon ausgehen, dass das Ende einen Tag später liegt, wenn der Wert kleiner ist als der Start, dann ergänzt Du:
tmpEnd := @If( End < Start ; @Adjust( End ; 0 ; 0 ; 1 ; 0 ; 0 ; 0 ) ; End );
Ergebnis := tmpEnd - Start;
Und wenn Du jetzt noch die Pause abziehen willst, dann wird die Formel ganz extrem schwierig:
Ergebnis := ( End - Start ) - (PauseEnd - PauseStart);
Und wenn das alles nichts hilft, dann schalt am besten Deinen Rechner aus und geh nach Hause... ;-)
Tode
-
auch ein pclp nützt nix wenn man falsche formeln hinschreibt und noch nicht mal in der lage ist, es richtig zu erklären
-
auch ein pclp nützt nix wenn man falsche formeln hinschreibt und noch nicht mal in der lage ist, es richtig zu erklären
wassolldenndasjetztheissen? ichdenkemalwenndudiesenstilbeibehälstdannwerdenaussermirauchanderekeinelusthabenfragenzubeantworten.
-
gibt es hier ne "ignore" Funktion ?
-kein weiterer Kommentar-