0

Ich möchte rausfinden, ob aktueller Monat zu Ende ist, wenn ja, dann greift andere Logik in meinem Code.

Beispiel:

now = datetime.datetime.now()
thirty_days_ago = datetime.datetime.now() - datetime.timedelta(days=30)
it_is_still_same_month = now.month == thirty_days_ago.month
if it_is_still_same_month:
    logic 1
else:
    logic 2

aber irgendwie kommt die Lösung fehlerhaft vor

Diese Frage melden
gefragt

Student, Punkte: 30

 

Kommt sie dir nur fehlerhaft vor oder funktioniert sie nicht? :-)

  ─   kingkevin23 10.01.2020 um 12:10

Dein Ziel ist es, zu testen ob vor 30 Tagen der selbe Monat ist wie aktuell?

  ─   gullideckel 10.01.2020 um 22:38
Kommentar schreiben
2 Antworten
3

Schonmal die monthrange Methode von dem Calendar Module probiert?

Damit kannst du herausfinden, ob es der letzte Tag im Monat ist. Du kannst dann ganz einfach das Date year und month als Parameter nehmen und dann einfach das erste Element im Array nehmen. Danach kannst du prüfen, ob es der letzte Tag im Monat ist.

Docs: https://www.w3resource.com/python/module/calendar/monthrange.php

Diese Antwort melden
geantwortet

Student, Punkte: 175

 

Kommentar schreiben

3

Hallo watchy,

ich kann Dir nur eine mögliche Lösung in"C" anbieten. Betimme den letzen Tag des gesuchten Monats und vergleiche ihn mit dem aktuellen Tag. Hier die Funkton zur Bestimmung des letzten Tags des Monats. Monat läuft von 1 bis 12. Das Jahr komplett angeben also z.B. 2020.

int bestimme_monatsende_tag(int Monat, int Jahr) { int endtag[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };

if (Monat != 2) 
       return endtag[Monat-1];
if (Jahr % 4 == 0 && ((Jahr % 100) > 0 || Jahr % 400 == 0))
    return 29;
else 
    return 28;

}

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben