PDA

View Full Version : [C/C++]Reperire il giorno della settimana dalla data


tomminno
15-03-2007, 16:45
Come si può fare per capire il giorno della settimana avendo a disposizione la data?
Avrei bisogno di realizzare un cambio di data su un sistema embedded per cui tutte le volte che si accende dovrei controllare la data, visto che il sistema ha le configurazioni in un'area di memoria read-only e non sono più modificabili.

andbin
15-03-2007, 16:49
Come si può fare per capire il giorno della settimana avendo a disposizione la data?
Avrei bisogno di realizzare un cambio di data su un sistema embedded per cui tutte le volte che si accende dovrei controllare la data, visto che il sistema ha le configurazioni in un'area di memoria read-only e non sono più modificabili.Beh, dipende dalle funzioni che usi.
Se parliamo di funzioni standard ANSI "C", la struttura struct tm (ritornata da gmtime/localtime) ha un campo tm_wday (day of the week)

tomminno
15-03-2007, 17:00
Beh, dipende dalle funzioni che usi.
Se parliamo di funzioni standard ANSI "C", la struttura struct tm (ritornata da gmtime/localtime) ha un campo tm_wday (day of the week)

Ehm sulla piattaforma in uso la time.h non funziona, mi servirebbe qualcosa tipo formuletta matematica.

andbin
15-03-2007, 17:13
Ehm sulla piattaforma in uso la time.h non funziona, mi servirebbe qualcosa tipo formuletta matematica.Non funziona in che senso?? Non è disponibile??
E allora che cosa avresti a disposizione come funzioni/librerie??

Nota, avendo una data giorno/mese/anno è possibile benissimo determinare il giorno della settimana ma appunto c'è da fare un po' di calcoli.
Io una volta avevo fatto un semplice algoritmo che calcola il giorno assoluto a partire da una certa data e avendo tale valore, basta poi fare una operazione di modulo per ottenere il giorno della settimana.
Adesso non ce l'ho sotto mano ... se nessun altro ti risponde, ti posto poi (domani) quella soluzione.

tomminno
15-03-2007, 17:28
Non funziona in che senso?? Non è disponibile??
E allora che cosa avresti a disposizione come funzioni/librerie??


Adesso che mi ci fai pensare non funziona se devo lavorare con le date di sistema (manca un tickcount a livello hardware), però potrei passare i dati del GPS direttamente a localtime :doh:
Domani provo e spero che funzioni.
Grazie!
Se ritrovi il codice per calcolare il giorno della settimana potrebbe essere interessante comunque.

crick_pitomba
16-03-2007, 19:13
Ehm sulla piattaforma in uso la time.h non funziona, mi servirebbe qualcosa tipo formuletta matematica.

se può esserti utile, in questa pagina http://xoomer.alice.it/esongi/calenda.htm
sono descritte diverse formule per la gestione delle date