Libreria
Date e tempo
Date, orari, durate, festività, età, cronometri e attese.
Funzioni 25
adessoaggiungi_giorni_lavorativiattendicalcola_etaconto_alla_rovesciacronometrodatadurata_in_parolee_festivoe_giorno_lavorativofestivita_italianeformatta_dataformatta_duratagiorni_lavorativigiorni_tramescolamisura_temponome_festivitanome_giornonome_meseoggiorapasquascegli_a_casotempo_relativo
ora()#
L'ora attuale come testo "HH:MM:SS".
stampa("Sono le {ora()}")Sono le 12:20:09
oggi()#
La data di oggi come testo "GG/MM/AAAA".
stampa("Oggi è il {oggi()}")Oggi è il 05/10/2026
attendi(secondi)#
Aspetta il numero di secondi indicato (anche decimale) prima di continuare.
In un programma con finestre l'interfaccia continua a rispondere mentre aspetti.
attendi(0.5)data(anno, mese, giorno, ore = 0, minuti = 0, secondi = 0)#
Crea una data.
Senza argomenti è la data di oggi (a mezzanotte).
data(2026, 9, 25)data(2026, 12, 25, ore = 20)data("25/09/2026")data("25/09/2026 14:30")adesso()#
La data e l'ora di questo momento.
stampa(adesso().formato("hh:mm"))12:20
giorni_tra(prima, dopo)#
Quanti giorni passano da una data all'altra (negativo se dopo viene prima).
stampa(giorni_tra(data(2026, 9, 25), data(2026, 12, 25)))giorni_tra(oggi(), "25/12/2026")91
nome_giorno(numero)#
Il nome del giorno della settimana, da 1 (lunedì) a 7 (domenica).
Si può passare anche una data.
stampa(nome_giorno(5))venerdì
nome_mese(numero)#
Il nome del mese, da 1 (gennaio) a 12 (dicembre).
Si può passare anche una data.
stampa(nome_mese(9))settembre
scegli_a_caso(lista, quanti = nulla)#
Un elemento scelto a caso (o quanti elementi diversi).
stampa(scegli_a_caso(["sasso", "carta", "forbici"]))scegli_a_caso(1..90, quanti = 6)forbici
mescola(lista)#
Una NUOVA lista con gli stessi elementi in ordine casuale (la lista data non cambia).
variabile carte = ["asso", "due", "tre", "re"] # valore di provavariabile mazzo = mescola(carte)cronometro()#
Fa partire un cronometro. Poi c.secondi dice quanto tempo è passato.
variabile c = cronometro()stampa("Ci hai messo {c.secondi} secondi")ferma()riprendi()azzera()giro(decimali = 3)misura_tempo(funzione)#
Esegue la funzione (senza argomenti) e dice quanti secondi ci ha messo.
stampa(misura_tempo(funzione () restituisci somma(1..1000000) fine))0.001278
formatta_data(d, stile = "lungo")#
La data scritta in italiano nello stile scelto.
Stili: "lungo" ("lunedì 5 ottobre 2026"), "completo" (con l'ora: "lunedì 5 ottobre 2026, ore 14:30"), "medio" ("5 ott 2026"), "breve" ("05/10/26"), "numerico" ("05/10/2026"), "iso" ("2026-10-05"), "mese_anno" ("ottobre 2026"), "giorno_mese" ("5 ottobre").
stampa(formatta_data(data(2026, 10, 5)))lunedì 5 ottobre 2026
tempo_relativo(d, riferimento = nulla)#
Quanto tempo è passato (o manca) in parole, rispetto ad adesso.
tempo_relativo(data(2026, 9, 24), riferimento = data(2026, 9, 27))pasqua(anno)#
La data della domenica di Pasqua in quell'anno (calcolata, calendario gregoriano).
stampa(pasqua(2026))stampa(pasqua(2026).aggiungi_giorni(1))05/04/2026 06/04/2026
festivita_italiane(anno)#
Le festività nazionali italiane dell'anno, come lista di dizionari {"data", "nome"}.
Pasqua e Pasquetta sono calcolate; dal 2026 c'è anche San Francesco (4 ottobre).
per ogni f in festivita_italiane(2026) fai stampa(f["data"], f["nome"]) fine01/01/2026 Capodanno 06/01/2026 Epifania 05/04/2026 Pasqua 06/04/2026 Lunedì dell'Angelo (Pasquetta) 25/04/2026 Festa della Liberazione 01/05/2026 Festa del Lavoro 02/06/2026 Festa della Repubblica 15/08/2026 Ferragosto (Assunzione) 04/10/2026 San Francesco d'Assisi, patrono d'Italia 01/11/2026 Ognissanti 08/12/2026 Immacolata Concezione 25/12/2026 Natale 26/12/2026 Santo Stefano
nome_festivita(d)#
Il nome della festività nazionale di quel giorno, o nulla se è un giorno normale.
stampa(nome_festivita("25/04/2026"))Festa della Liberazione
e_festivo(d, extra = nulla)#
vero se il giorno è domenica o una festività nazionale italiana.
extra aggiunge feste locali ripetute ogni anno, per
stampa(e_festivo("06/04/2026"))stampa(e_festivo("07/04/2026"))vero falso
extra = ["07/12"]e_giorno_lavorativo(d, sabato_lavorativo = falso, extra = nulla)#
vero se non è sabato, domenica o festa.
stampa(e_giorno_lavorativo(data(2026, 12, 24)))stampa(e_giorno_lavorativo(data(2026, 12, 25)))vero falso
giorni_lavorativi(da, a, sabato_lavorativo = falso, extra = nulla)#
Quanti giorni lavorativi ci sono da una data all'altra (comprese).
Salta sabati (se non lavorativi), domeniche e festività nazionali italiane (e quelle in extra). Se a viene prima di da il risultato è negativo.
stampa(giorni_lavorativi("01/12/2026", "31/12/2026"))21
aggiungi_giorni_lavorativi(d, giorni, sabato_lavorativo = falso, extra = nulla)#
La data dopo tanti giorni lavorativi.
Con un numero negativo va indietro. Serve per scadenze come "entro 10 giorni lavorativi". Stefano e la domenica).
stampa(aggiungi_giorni_lavorativi("24/12/2026", 1))28/12/2026
calcola_eta(nascita, alla_data = nulla, completa = falso)#
Gli anni compiuti da chi è nato in quella data (a oggi).
Con completa = vero restituisce un dizionario con "anni", "mesi" e "giorni". Chi è nato il 29 febbraio compie gli anni il 1° marzo negli anni non bisestili.
calcola_eta("15/03/2000", alla_data = "14/03/2026")calcola_eta("15/03/2000", "20/05/2026", completa = vero)durata_in_parole(secondi, con_secondi = vero)#
Una durata scritta per esteso in italiano.
stampa(durata_in_parole(3725))stampa(durata_in_parole(90061))stampa(durata_in_parole(0))1 ora, 2 minuti e 5 secondi 1 giorno, 1 ora, 1 minuto e 1 secondo 0 secondi
formatta_durata(secondi, decimi = falso)#
Una durata come "hh:mm:ss" (le ore possono superare 24).
stampa(formatta_durata(3725))formatta_durata(65.4, decimi = vero)01:02:05
conto_alla_rovescia(durata)#
Parte un conto alla rovescia di tanti secondi, oppure fino a una data.
Non blocca il programma: si legge quando serve. Proprietà: secondi_rimasti (con 3 decimali), secondi_interi, scaduto, testo ("00:04:59"), in_parole. Metodi: ferma(), riprendi(), azzera(), aggiungi(secondi).
variabile c = conto_alla_rovescia(300)se c.scaduto allora stampa("Tempo!") fineconto_alla_rovescia(data(2026, 12, 25)).in_paroleOggetto «data»
Valore Leo di tipo data (immutabile).
| Proprietà | Significato |
|---|---|
anno | |
fine_settimana | |
giorno | |
giorno_settimana | |
mese | |
minuti | |
nome_giorno | |
nome_mese | |
ore | |
secondi |
.aggiungi(giorni = 0, ore = 0, minuti = 0, secondi = 0)#
Una nuova data spostata in avanti.
Con numeri negativi va indietro.
adesso().aggiungi(ore = 2, minuti = 30).aggiungi_giorni(giorni)#
Una nuova data spostata di tanti giorni (negativi = indietro).
stampa(data(2026, 12, 31).aggiungi_giorni(1))01/01/2027
.dopo_di(altra)#
vero se questa data viene dopo l'altra.
.formato(modello)#
La data scritta secondo un modello.
Segnaposti: GG giorno, MM mese, AAAA anno (AA le ultime due cifre), hh ore, mm minuti, ss secondi, GIORNO nome del giorno, MESE nome del mese.
stampa(data(2026, 9, 25).formato("GIORNO GG MESE AAAA"))venerdì 25 settembre 2026
.in_lettere()#
La data scritta per esteso, per esempio "venerdì 25 settembre 2026".
.prima_di(altra)#
vero se questa data viene prima dell'altra.
.uguale_a(altra)#
vero se le due date (con l'orario) coincidono.
Oggetto «cronometro»
Valore Leo di tipo cronometro: misura il tempo passato.
| Proprietà | Significato |
|---|---|
in_corsa | |
millisecondi | |
secondi | |
tempi_giro |
.azzera()#
Riporta il cronometro a 0 e lo fa ripartire.
.ferma()#
Mette in pausa il cronometro (il tempo smette di contare).
.giro(decimali = 3)#
I secondi passati, con quanti decimali vuoi.
.riprendi()#
Fa ripartire un cronometro fermato con ferma().
.segna_giro()#
Registra un giro e restituisce quanto è durato (in secondi, 3 decimali).
I tempi di tutti i giri si leggono con c.tempi_giro.
stampa("Giro:", c.segna_giro())Oggetto «conto_alla_rovescia»
Valore Leo di tipo conto_alla_rovescia: quanto manca a una scadenza.
| Proprietà | Significato |
|---|---|
in_corsa | |
in_parole | |
scaduto | |
secondi_interi | |
secondi_rimasti | |
testo |
.aggiungi(secondi)#
Aggiunge (o toglie, se negativi) secondi al tempo rimasto.
.azzera()#
Ricomincia da capo con la durata iniziale.
.ferma()#
Mette in pausa il conto (il tempo rimasto non scende più).
.riprendi()#
Fa ripartire un conto messo in pausa con ferma().