Datum Anfang/Ende Vormonat berechnen

  • Hallo Leute,


    ich möchte gerne, ausgehend vom heutigen Tagesdatum, in einer LotusScript Routine den ersten und den letzten Tag des vorhergehenden Monats berechnen.
    Was ich bis jetzt so zusammengebastelt habe, sieht mir nicht recht gut aus.
    Wie ich Notes kenne, gibt's da sicher eine super-elegante Lösung ...


    Danke für Eure Tipps


    Günther

    • Offizieller Beitrag

    bau Dir einen String zusammen und dann ein NotesDateTime-Object daraus machen.


    In etwa so:

    Code
    ndt ... NotesDateTime-Object mit aktuellem Datum
    
    
    Set ndt_Ende as New NotesDateTime("01/" & month(ndt.LSLocalTime) & "/" & year(ndt.LSlocalTime))
    call ndt_Ende.AdjustDay(-1)
    
    
    call ndt.AdjustMonth(-1)
    Set ndt_Start as New NotesDateTime("01/" & month(ndt.LSLocalTime) & "/" & year(ndt.LSlocalTime))


    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

  • Es ginge noch kürzer, um den ersten und den letzten Tag des Vormonat zu bestimmen:


    Dim vFirstOfLastMonth as Variant
    Dim vLastOfLastMonth as Variant


    vLastOfLastMonth = DateNumber (Year (Today), Month (Today), 1) - 1
    vFirstOfLastMonth = Year (vLastOfLastMonth), Month (vLastOfLastMonth), 1)


    Bernhard

  • Noch kuerzer:


    Dim nun As notesdatetime
    Set nun = New notesdatetime("1." & Month(Today) & "." & Year(Today))
    letzter = nun.AdjustDay( -1 )


    Verzichtbar ist in D das errechnen des ersten Tages. Hier fallen sie meist auf den 1. :D

  • Das Arbeiten mit Strings zur Datumsbildung kann aber kritisch werden, wenn der Code auf einmal auf einer Box mit anderen Ländereinstellungen läuft ...


    Bernhard

    • Offizieller Beitrag

    den ersten das Vormonats musst Du schon berechnen, da Monat -1 im Januar nicht funktioniert!


    Gruß
    Dirk

  • War das an mich gerichtet?? Wer rechnet denn mit Monat-1??
    Und selbst wenn...ich gehe davon aus, dass auch jeder Dezember mit 1 beginnt.

    • Offizieller Beitrag

    Du schreibst, dass es noch kürzer geht, dabei lässt Du den 2. Teil (den Ersten des Vormonates) einfach weg. Und dieser muss auch berechnet werden.


    Gruß
    Dirk

  • Verstehe ich jetzt nicht. Bei welchem Vormonat ist denn der Erste nicht der 1.??? :-?


    Ich habe jetzt irgendwie eine Sperre im Kopf. *Zu dieser Aussage bitte keine Kommentare :D

    • Offizieller Beitrag

    Dein Code

    Zitat

    Dim nun As notesdatetime
    Set nun = New notesdatetime("1." & Month(Today) & "." & Year(Today))
    letzter = nun.AdjustDay( -1 )


    berechnet den 1. des aktuellen Monates und den Letzten des Vormonates.


    gunnntrrr wollte aber

    Zitat

    ... den ersten und den letzten Tag des vorhergehenden Monats berechnen.


    Also fehlt in Deinem Code noch die Berechnung des 1. des Vormonates.


    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