Addieren von Zeitwerten

  • Hallo!


    In meiner Anwendung soll die Dauer einer Tätigkeit angegeben werden im Format hh:mm.
    Später will ich diese Zeiten addieren.


    Gibt es dafür in Notes eine Funktion oder muß ich umständlich ein Script basteln?

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Hallo,


    Angenommen, Du hast eine textliste, die so aussieht:


    _list := "hh1:mm1":"hh2:mm2":"hh3:mm3"


    dann könnte man doch


    @Sum(
    @TextToNumber(@Left(_list;":")) +
    @TextToNumber(@Right(_list;":")) / 60
    )


    machen. Oder so ähnlich...


    Gruss, Bernd

  • also ich würde in einem zusätzlichen feld die 'industriestunden' speichern


    ->
    stunden := @Hour(feldmitzeitwert);
    minuten := @Round(@Minute(feldmitzeitwert) / 60;0,01);
    stunden + minuten


    die kann man dann 'vernünftig' addieren.


    anzeige im format "hh:mm":


    _hour := @Integer(industriezeit);
    _minute := @Round((industriezeit - _hour) * 60;1);
    tmp_time := @Right("00" + @Text(_hour);2) + ":" + @Right("00" + @Text(_minute);2);
    @If(tmp_time = "00:00";"";tmp_time)


    in einer ansicht wirst du das ganze allerdings nicht addieren können.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Hi!


    Ich will das nicht in einer Ansicht, sondern in einem Script-Agenten läuft...

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Hmm... wie denn jetzt? Script oder kein Script?


    Aber egal wie es ist. Für Zeiten Addieren kenne ich keine separate Funktion. Unterm Strich kannst Du aber - ob Script oder nicht - immer recht einfach addieren.


    Summe = Stunden1 * 60 + Minuten1 + Stunden2 * 60 + Minuten2
    Stunden = Integer(Summe/60)
    Minuten = Modulo(Summe/60)


    Das geht auf jeden Fall einfach per @Functions.


    Gruss, Bernd

  • Hi Bernd!


    Hatte mich evtl. etwas unglücklich ausgedrückt ;)


    Es ist definitiv ein Script. Neben anderen Feldern mit "normalen" Zahlenwerten will ich auch das Dauer Feld addieren.


    Ich hatte auf eine Standard-LS-Funktion gehofft....
    ...so wie adjust z.B.
    Naja, dann eben selber eine LS-Fkt. schreiben...

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Hier meine Lösung:


    Dim PZeit As String
    Dim zeit_sum As Integer
    Dim stunden As Integer
    Dim minuten As Integer
    Dim stunden_sum As Integer
    Dim minuten_sum As Integer


    .
    .
    .


    Set doc = coll.GetFirstDocument ' Alle gefundenen Dokumente
    do until doc is nothing
    PZeit = doc.Prüfzeit(0)
    stunden = Hour(PZeit)
    minuten = Minute(PZeit)


    stunden_sum = stunden_sum + stunden
    minuten_sum = minuten_sum + minuten
    Set doc = coll.GetNextDocument(doc)
    loop

    zeit_sum = stunden_sum * 60 + minuten_sum
    stunden = zeit_sum / 60
    minuten = zeit_sum Mod 60

    If minuten <10 Then
    doc.PZeit = Cstr(stunden) + ":0" + Cstr(minuten)
    Else
    doc.PZeit = Cstr(stunden) + ":" + Cstr(minuten)
    End If

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Beim Testen ist mir noch ein Fehler im Script bzw. in der Hilfe von Notes aufgefallen:


    Falsch:
    stunden = zeit_sum / 60


    Hier wird gnadenlos gerundet (z.b. bei 0:59 wird 1:00 errechnet)


    Richtig:
    stunden = zeit_sum \ 60

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

    • Offizieller Beitrag

    warum baust Du Dir nicht 2 NotesDateTime-Werte zusammen und nimmst dann die vorhanden Mittel in der Klasse?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein