Do while Datum

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    Ich versuche, eine While schleife zu erstellen, die mit datum Handelt.
    Am einfachsten erklärt mal die While schleife in Vb.net:

    Code
    Do While tag_datum <= end_datum
                If Not CDate(tag_datum).DayOfWeek = DayOfWeek.Saturday And Not CDate(tag_datum).DayOfWeek = DayOfWeek.Sunday And Not CDate(tag_datum).DayOfWeek = DayOfWeek.Friday Then
                    arbeitssoll += 8.0
                End If
                tag_datum = tag_datum.AddDays(1)
            Loop

    Nun ich müsste in Python eine While schleiffe erstellen die genau das selbe macht also:
    Für jeden tag von "tag_datum" bis "end_datum" soll arbeitssoll +8 gezählt werden bis der heutige Tag erreicht ist.

    Code
    while True :
            if datum_arbeitssoll == datetime.date.today():
                break
            else:
                datum_arbeitssoll = datum_arbeitssoll + datetime.timedelta(1)
            print datum_arbeitssoll

    Wie muss ich datum_arbeitssoll definieren sodass dies Funktioniert?

    So nun habe ich nur noch das Problem das Datum zu definieren:

    [code]
    t = '%Y'
    jahr_ist = now.strftime(t)
    datum_arbeitssoll = datetime.date(jahr_ist + ,01,01)

    Ready when you are :bravo2:

    Einmal editiert, zuletzt von schnibli (11. Januar 2016 um 07:24)

  • Hallo,

    in deinem Post fehlt ein Stück am Ende....

    Damit du mit dem Datum rechnen kannst, sollte beides ein Datetime-Objekt sein. Das zu erzeugen ist nicht weiter schwer:

    [code=php]>>> jahr = 2016
    >>> datum_arbeitssoll = datetime.date(jahr, 1, 11)
    >>> datum_arbeitssoll
    datetime.date(2016, 1, 11)
    >>> datum_arbeitssoll + datetime.timedelta(1)
    datetime.date(2016, 1, 12) [/php]

    Das aktuelle Jahr kann man auch anders / einfacher bekommen:

    [code=php]>>> aktuelles_jahr = datetime.date.today().year
    >>> aktuelles_jahr
    2016[/php]

    Gruß, noisefloor
    Automatisch zusammengefügt:
    Nachtrag: Den Wochentag zu einem Datum bekommst du so:

    [code=php]>>> datum_arbeitssoll.weekday()
    0[/php]
    Die Zählung beginnt bei null, also 0 = Montag

    Den if-Teil der der VB Schleife schreibst du in Python dann so:

    [code=php]if datum_arbeitssoll < 5:[/php]

    Einmal editiert, zuletzt von noisefloor (11. Januar 2016 um 07:50)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!