Python versione Bignami - Lavorare con le date
calendar
import calendar
calendar.isleap(anno)restituisce True se l'anno è bisestile.weekday(anno, mese, giorno)restituisce il giorno della settimana (0 = lunedí, 1 = martedí... 6 = domenica).timegm(tupla di gmtime)funzione inversa ditime.gmtime()
time
-
clock()restituisce il numero di secondi a partire da un momento imprecisato; è floating point ed è utile per vedere il tempo di esecuzione di una funzione:def fun(): start = clock() ... print "Ci ho messo", clock()-start, "secondi" -
gmtime([secondi])dato un timestamp Unix, restituisce una tupla che contiene (nel fuso orario UTC):Indice Nome Descrizione 0 tm_year Sempre a 4 cifre 1 tm_mon Da 1 a 12 2 tm_mday Da 1 a 31 3 tm_hour Da 0 a 23 4 tm_min Da 0 a 59 5 tm_sec Da 0 a 59 (60 e 61 per i secondi bisestili) 6 tm_wday Da 0 (lunedí) a 6 (domenica) 7 tm_yday Da 1 a 366 8 tm_isdst 0 = ora solare, 1 = ora legale, -1 = non so -
localtime([secondi])dato un timestamp Unix, restituisce una tupla analoga a quella digmtime, ma in ora locale mktime(tupla stile gmtime)funzione inversa di localtimesleep(secondi)ferma l'esecuzione per il dato numero di secondi. Si possono usare numeri floating point:sleep(0.1)si ferma per un decimo di secondo.-
strftime(format[, tupla stile gmtime])crea una stringa con la data, secondo il contenuto diformat:%a Nome del giorno abbreviato, secondo la locale corrente %A Nome del giorno completo, secondo la locale corrente %b Nome del mese abbreviato, secondo la locale corrente %B Nome del mese completo, secondo la locale corrente %c Data e ora rappresentati secondo la locale corrente %d Giorno a due cifre (da 01 a 31) %H Ora a due cifre (da 00 a 23) %I Ora a due cifre (da 01 a 12) %j Giorno dell'anno a 3 cifre (da 001 a 366) %m Mese a due cifre (da 01 a 12) %M Minuto a due cifre (da 00 a 59) %p "AM" o "PM" %S Secondo a due cifre (da 00 a 61) %w Giorno della settimana (da 0 (lunedí) a 6) %x Data abbreviata %X Ora abbreviata %y Anno a due cifre (da 00 a 99) %Y Anno a quattro cifre %Z Nome del fuso orario %% Il carattere '%' -
strptime(formato, stringa)funzione inversa di strftime: data una stringa, restituisce una tupla in stile gmtime, leggendo i valori secondo il formato dato time()timestamp Unix corrente
datetime
date
d = datetime.date(anno, mese, giorno)
- Anno va da
datetime.MINYEARadatetime.MAXYEAR, senza considerare aggiustamenti di calendario - Mese va da 1 a 12
- Giorno va da 1 al numero di giorni nel mese dato
datetime.today()restituisce la data corrente
Gli oggetti date possono essere sommati a un
timedelta, sottratti, confrontati con uguaglianze e
disuguaglianze.
d.replace([year][, month][,day])restituisce una data uguale ad, ma sostituendo i valori dati. Esempio:d1 = d.replace(month=5)d.timetuple()retituisce la data in una tupla in stile gmtimed.strftime(formato)analogo atime.strftime
time
t = datetime.time(hour[, minute][, second][, microsecond][, tzinfo])
- hour sta tra 0 e 24
- minute sta tra 0 e 60
- second sta tra 0 e 60
- microsecond sta tra 0 e 1000000
-
tzinfo è None o un oggetto di tipo
datetime.tzinfo -
t.replace([hour][, minute][, second][, microsecond][, tzinfo]) analoga allareplacedidatetime.date` t.strftime(formato)analogo atime.strftime
datetime
d = datetime.datetime(year, month, day[, hour][, minute][, second][, microsecond][, tzinfo])
Equivale a datetime.date e
datetime.time messi assieme.
datetime.now([tz])restituisce data e ora attuali, in ora locale o nel fuso specificatodatetime.utcnow()restituisce data e ora attuali in UTCdatetime.fromtimestamp(ts[, tz])restituisce data e ora corrispondenti a un timestamp Unix, in ora locale o nel fuso specificatodatetime.utcfromtimestamp(ts)restituisce data e ora corrispondenti a un timestamp Unix, in UTCdatetime.combine(date, time)combina undatee untimein undatetime
Gli oggetti datetime possono essere sommati a un
timedelta, sottratti, confrontati con uguaglianze e
disuguaglianze.
d1 = d.date()restituisce un oggettodatecon la datat = d.time()restituisce unoggettotimecon l'orad1 = d.replace([year][, month][, day][, hour][, minute][, second][, microsecond][, tzinfo])analogo alla replace didatetime.dated.timetuple()retituisce la data e ora in una tupla in stile gmtimed.strftime(formato)analogo atime.strftime
timedelta
td = datetime.timedelta([days][, seconds][, microseconds][, milliseconds][, minutes][, hours][, weeks])
Rappresenta un intervallo temporale in giorni, secondo e microsecondi (gli altri valori possono essere usati per convenienza, e vengono convertiti).
La precisione è:
- microseconds va da 0 a 999999
- seconds va da 0 a 86399 (il numero di secondi in un giorno)
- days va da -999999999 a 999999999
Le operazioni supportate sono addizione, sottrazione,
moltiplicazione per un intero, divisione per un intero, opposto
(-t), valore assoluto (abs(t)).