Problema con RTC

I tempi a cavallo del giorno sono difficili da gestire, la via più semplice è convertire tutto in secondi. E' il modo con cui vengono gestiti i timestamp di tipo *nix: si prende un'epoca di riferimento (nei SO *nix generalmente è il 1° gennaio 1970 ma tu puoi ad esempio prendere il 1° gennaio dell'anno in corso) e poi da lì iniziare a contare i secondi. In questo modo devi solo convertire i tempi di inizio e fine di un certo giorno di un certo mese di un certo anno in un timestamp. A questo punto puoi gestire tempi anche a cavallo del cambio di giorno, di mese o anche di anno. Ad esempio col sistema appena descritto l'avvio alle 23:30 del 31 dicembre 2013 e l'arresto alle 00:30 del 1° gennaio 2014 non è un problema.

ecco perchè quando sostituisco un display ad un iphone 4 riparte sempre dal 1/1/1970, :blush:

comunque se io partissi a contare i secondi da 1/1/14 per esempio, la mia variabile contenente i secondi sarebbe enorme no?

E' un unsigned long il cui valore massimo è 4'294'967'295 . Si resetterà nel 2038 dopo ben 136 anni --> http://en.wikipedia.org/wiki/Year_2038_problem e sarà un nuovo millennium bug.

Esattamente alle 03:14:07 UTC del 19 Gennaio 2038. :grin:

EDIT: Questo è il problema relativo all'UNIX Timestamp. I server NTP si resetteranno nel 2036.

Calamaro: comunque se io partissi a contare i secondi da 1/1/14 per esempio, la mia variabile contenente i secondi sarebbe enorme no?

No.

PaoloP: E' un unsigned long il cui valore massimo è 4'294'967'295 .