Seite 1 von 1

kalender programmieren

Verfasst: Mittwoch 16. Januar 2013, 10:50
von marteng
hallo leute,

ich habe folgendes problem.

ich möchte gern einen kalender für einen bestimmten zeitraum erstellen.

nun habe ich 3 listen von daten, die sich alle gegenseitig zu vollständig gefüllten monaten in diesem zeitraum ergänzen.

ich stelle mir das so vor, dass ich am ende eine grafik habe, in der ganz normal zu diesem zeitraum die monate aufgeführt sind (z.b. die monatsblöcke in 3 spalten/4 zeilen für ein jahr), aber die einzelnen einträge je nach listenzugehörigkeit frabcodiert sind.

geht das irgendwie zu bewerkstelligen, dass ich einzelne einträge in dem kalender so manipuliert bekomme?

ich habe bisher das modul
calendar
gefunden...kann damit auch arbeiten, erstellt mir aber nur einen gregoreanischen kalender für ein ganzes jahr...ich kann also zum beispiel keinen start- und endtag angeben?!

bitte um hilfe für meine fragen. gern auch tips zu anderen modulen als calendar :)

viele grüße, marteng

Re: kalender programmieren

Verfasst: Mittwoch 16. Januar 2013, 11:31
von mkesper
Hast du dir auch die Doku zu calendar angeschaut?
Z.B.

Code: Alles auswählen

itermonthdates(year, month)
scheint mir in dem Zusammenhang brauchbar zu sein.
Ansonsten lohnt auch ein Blick auf das datetime-Modul.

Re: kalender programmieren

Verfasst: Mittwoch 16. Januar 2013, 13:12
von mutetella
Ein kleines Beispiel, was sich relativ einfach mit dem 'calendar'-Modul machen lässt:

Code: Alles auswählen

def mark_dates(dates):
    for week in calendar.Calendar().monthdatescalendar(2013, 1):
        for day in week:
            if day in dates:
                template = '>{0:2}<'
            else:
                template = ' {0:2} '
            print template.format(day.day),
        print '\n',

Code: Alles auswählen

>>> my_dates = (datetime.date(2013, 1, 14), datetime.date(2013, 1, 23))
>>> mark_dates(my_dates)
 31    1    2    3    4    5    6  
  7    8    9   10   11   12   13  
>14<  15   16   17   18   19   20  
 21   22  >23<  24   25   26   27  
 28   29   30   31    1    2    3  
mutetella

Re: kalender programmieren

Verfasst: Mittwoch 16. Januar 2013, 13:18
von BlackJack
``print '\n',`` würde ich ja durch ein einfaches ``print`` ersetzen. :-)

Re: kalender programmieren

Verfasst: Mittwoch 16. Januar 2013, 14:15
von mutetella
Oh Mann, klar, wie doof ist das denn...? :mrgreen: