vorrei sapere come funziona
Domanda generica. Vediamo se ti faccio un sunto.
Basilarmente utilizzo un timer del microcontrollore (la lib gira su un sacco di chip supportati dall'IDE e dai core aggiuntivi) impostandolo come contamillisecondi. Ogni millisecondo incremento un contatore interno. Al raggiungimento di 1000 incrementi, incremento a cascata tutta una serie di variabili temporali, a cominciare dai secondi per finire agli anni.
Siccome la sua accuratezza si basa sull'accuratezza del generatore di clock, sappiamo che il risonatore ceramico usato sulle ultimo schede Arduino non è quel mostro di precisione per cui, per sopperire a questo problema, ho aggiunto un deltaT. L'utente può utilizzare un fattore di correzione per allineare il tempo contato dalla libreria con quello reale, aggiungengo o sottraendo una certa quantità di millisecondi nell'arco di un giorno.
La libreria ha tante funzioni, compresa la gestione dei timestamp in stile UNIX: puoi avere il timestamp dell'orario corrente così come usarne uno per regolare l'ora. Oppure sapere il giorno della settimana della data corrente oppure sapere se un anno è bisestile.