5.19 calendar -- Funzioni generali per la gestione del calendario

Questo modulo vi permette di generare calendari in modo simile al comando cal di Unix, ed offre utili funzioni aggiuntive per la gestione del calendario. Di predefinito, questi calendari hanno lunedì come primo giorno della settimana, e domenica come ultimo (la convenzione Europea). Usate setfirstweekday() per impostare il primo giorno della settimana a Domenica (6) o ad ogni altro giorno della settimana. I parametri che specificano le date vengono trattati come interi.

Molte di queste funzioni si basano sul modulo datetime che utilizza un calendario idealizzato, quello Gregoriano, esteso indefinitamente nel passato e nel futuro. Questo corrisponde alla definizione data nel libro di Dershowitz e Reingold "Calendrical Calculations", di calendario "Gregoriano proleptico", che è il calendario base per tutti i calcoli computazionali.

setfirstweekday( weekday)
Imposta quale giorno (0 è lunedì, il 6 è la domenica) debba essere considerato il primo della settimana. I valori MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY e SUNDAY vengono forniti per convenienza. Per esempio, per impostare il primo giorno della settimana a domenica:

import calendar
calendar.setfirstweekday(calendar.SUNDAY)
Nuovo nella versione 2.0.

firstweekday( )
Restituisce il primo giorno della settimana impostato correntemente. Nuovo nella versione 2.0.

isleap( year)
Restituisce True se year è un anno bisestile, altrimenti False.

leapdays( y1, y2)
Restituisce il numero di anni bisestili nell'intervallo [y1...y2], dove y1 e y2 sono anni. Modificato nella versione 2.0: Questa funzione non funziona bene per intervalli a cavallo del cambiamento di secolo nella versione di Python 1.5.2.

weekday( year, month, day)
Restituisce il giorno della settimana (0 è Lunedì) per l'anno year (1970-...), mese month (1-12), giorno day (1-31).

monthrange( year, month)
Restituisce il giorno della settimana del primo giorno del mese ed il numero di giorni nel mese, avendo specificato l'anno (year) ed il mese (month).

monthcalendar( year, month)
Restituisce una matrice che rappresenta il calendario del mese. Ogni riga indica una settimana; i giorni fuori del mese vengono segnati da uno zero. Ogni settimana inizia con il Lunedì, tranne se diversamente impostato da setfirstweekday().

prmonth( theyear, themonth[, w[, l]])
Stampa il calendario del mese come restituito da month().

month( theyear, themonth[, w[, l]])
Restituisce il calendario del mese in una stringa multiriga. Il parametro w, se presente, specifica la larghezza delle colonne della data, che sono centrate. Il parametro l, se presente, specifica il numero di righe usate da ogni settimana. Dipende dal primo giorno della settimana impostato da setfirstweekday(). Nuovo nella versione 2.0.

prcal( year[, w[, l[c]]])
Stampa il calendario di un intero anno, come restituito da calendar().

calendar( year[, w[, l[c]]])
Restituisce il calendario, su 3 colonne, di un intero anno sotto forma di stringa multiriga. I parametri opzionali w, l e c impostano rispettivamente la larghezza delle colonne delle date, le righe per settimana ed il numero di spazi tra le colonne dei mesi. Dipende dal primo giorno della settimana impostato da setfirstweekday(). L'anno più antico per il quale può essere generato il calendario dipende dalla piattaforma. Nuovo nella versione 2.0.

timegm( tuple)
Una funzione isolata ma utile che richiede come parametro una tupla come quella restituita dalla funzione gmtime() del modulo time, e restituisce il valore corrispondente al timestamp dei sistemi Unix, che assume come inizio l'anno 1970, e la codifica POSIX. Infatti, time.gmtime() e timegm() sono una l'inverso dell'altra. Nuovo nella versione 2.0.

Vedete anche:

Modulo datetime:
Interfaccia orientata agli oggetti per date e orari con funzionalità simili al modulo time.
Modulo time:
Funzioni di basso livello per la gestione del tempo.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.