AdjustMonth rechnet anders als in Notes 6

    • Offizieller Beitrag

    um den letzten Tag eines Monates zu ermitteln, habe ich mir eine Funktion geschrieben.

    Code
    Function letzterTagMonat(ndt As NotesDateTime)
    ' ndt ... erster Tag im Monat
    	ndt.AdjustMonth(1)
    	ndt.AdjustDay(-1)
    End Function

    Dieser Funktion übergebe ich den ersten Tag im Monat (z.B. 01.05.2010) und die Funktion gab mir bisher immer den letzten Tag (z.B. 31.05.2010) zurück.


    Nachdem ich die Script-Bibliothek gespeichert habe, kommt jetzt immer der 30.05.2010 zurück.
    Mit meiner Funktion musste ich mir bisher um Jahreswechsel, Schaltjahre usw. keinen Kopf machen. Unter Notes 4.x, 5.x und 6.x hat dies auch immer wunderbar funktioniert.


    Anscheinend wird jetzt nicht mehr einfach die Monatskomponente um 1 erhöht sondern 30 Tage addiert.


    Gibt es irgend einen Parameter / Trick, der das alte Verhalten wieder herstellt?


    Danke und 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

    • Offizieller Beitrag

    habe es jetzt mit


    Gruß
    Dirk

    • Offizieller Beitrag

    8.5.1. FP 2 nutze ich auch.
    Bei der ersten Version kommt dabei der 30.05.2010 raus. Das Übergabedatum ist auch sicher der 01.05.2010 - habe ich im Debugger nachgesehen.


    Ich nutze den Client in deutsch und Du wahrscheinlich in engl.! :(


    Danke und Gruß
    Dirk

    • Offizieller Beitrag

    so anderer PC:
    - Notes 8.5.1 FP2 deutsch - wie mein PC
    - WinXP deutsch (gleiche Patchs, FixPacks wie mein PC)
    dort funktioniert das Script.


    Die HW ist allerdings anders, meine HW ist neuer - [wurde der Pentium Bug wieder eingebaut?]


    Bin etwas ratlos, an welcher Stelle ich noch suchen könnte.


    Gruß
    Dirk

    • Offizieller Beitrag

    also steht in dem übergebenen Datum
    - 01.05.2010 00:00:00 ... kommt der 30.05.2010 zurück ... falsch
    - 01.05.2010 00:59:59 ... kommt der 30.05.2010 zurück ... falsch
    - 01.05.2010 01:00:00 ... kommt der 31.05.2010 zurück ... richtig


    schneide ich die Zeitkomponente ab (ndt.SetAnyTime), dann
    - 01.05.2010 ... kommt der 31.05.2010 zurück .. richtig


    Entweder wird die Zeitzone oder die Sommerzeit beachtet - aber nicht beides.
    Für meine Begriffe muss ein AdjustMonth einfach nur die Monatszahl um eins erhöhen.


    Danke und 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