0

Tage richtig berechnen

Hallo,

ich möchte gern die Tage berechnen, bis eine Lizenz abläuft.

Dazu habe ich ein Datumsfeld (Ablauf) und gebe dort den Tag an, wo die Lizenz abläuft.

In einer Funktion soll nun angezeigt werden, wie viele Tage die Lizenz noch gültig ist, sobald bestimmte Zeitpunkte unterschritten werden, soll es farblich von grün auf rot sichtbar sein. Dazu hab ich folgendes in die Funktion geschrieben:

 

let myTAGE := days(today(), Ablauf) * -1;
let myCOLOR := color(192, 245, 134);
if myTAGE = "" then
    let myCOLOR := color(0, 104, 139);
    styled(text("keine Lizenz"), myCOLOR, "white", "")
else
    if myTAGE > 14 then
        let myCOLOR := color(192, 245, 134);
        styled(text("Lizenz noch: " + myTAGE + " Tag(e) gültig!"), myCOLOR, "black", "")
    else
        if myTAGE > 0 then
            let myCOLOR := color(255, 127, 36);
            styled(text("Lizenz noch: " + myTAGE + " Tag(e) gültig!"), myCOLOR, "black", "")
        else
            if myTAGE <= 0 then
                let myCOLOR := color(255, 0, 0);
                styled(text("Lizenz ist abgelaufen!"), myCOLOR, "white", "")
            end
        end
    end
end

 

Blöderweise hab ich da irgendwo einen Denkfehler drin.  Wenn die Lizenz in 3 Tagen abläuft berechnet er z.B nicht 3 sondern -3 

Habt ihr eine Idee, wie ich das ändern kann?

1 Antwort

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo, wenn 'Ablauf' größer ist als today(), dann ist der Rückgabewert von days() eine positive Zahl. Multipliziert man diese nun mit -1, wird zwangsläufig ein negativer Wert daraus. Ich würde das "* -1" in der ersten Zeile also einfach mal weglassen.