Ciao a tutti,
Avrei bisogno di aiuto per quanto riguarda la manipolazione di data e ora in php e mySQL.

In particolare ho dei dispositivi domotici che inviano dati tramite GET chiamando una pagina php sul mio server con una querystring di questo tipo:

http://www.miosito.it/insert.php?nom...=valore2...ecc...

al momento sto facendo salvare tutti i dati trasmessi su database, ma non ho bosogno di tutti questi dati e mi servirebbe salvarla ad esempio ogni ora purtroppo questi dispositivi trasmettono un po' "quando gli pare" e quindi dovrei salvarmi il primo "stream" di info per quell'ora.

Avrei pensato ad un paio di soluzioni:

- salvarli tutti e poi ogni tot pulise il database

- mandare in sleep la pagina per un ora o usare un timer per salvarli solo una volta all'ora

- ogni volta che mi arriva uno "stream" di dati: in php mi salvo l'orario di arrivo; (supponendo di avere già dati di consumo orario) faccio una query sul database per verificare quando è stato fatto l'ultimo inserimento se è passata un'ora salvo sul DB sennò no.

Vorrei seguire questo ultimo procedimento; al momento la tabella del mio database ha un campo timestamp che si autocompila ad ogni inserimento ma invece di essere il numero di sec dalla unix date il client SQL che uso me lo visualizza come YYYY-MM-DD hh:mm:ss.

quindi vorrei riuscire ad estrarre sia dalla funzione php che restituisce l'ora, che dal timestamp salvato nel DB il valore hh (NB. non il timestamp convertito in ore) e confrontare i due valori hh_php e hh_SQL se è passata 1 ora (hh_SQL + 1 == hh_php) salvo i dati nel db e quindi quello diventerà il valore salvato in quell'ora e sarà per forza il primo ricevuto in quell'ora.

Stesso discorso per quanto riguarda i Giorni e magari i mesi.

Immagino che ci sia qualche funzione che "estragga" le ore o i giorni o il mese da una data, ne conoscete qualcuna?

Dato che questo metodo è un po' complicato ne conoscete altri?
Tenete conto che il valore che ho bisogno di salvare è un valore di energia "consumata" da un'eletrodomestico connesso ad una determinata presa elettrica; purtroppo in dispositivi ha un contatore che si resetta una volta al giorno e quidi mi restituisce il totale di energia consumata dal reset fino a quel momento, quindi per ottentere il valore da salvare nel DB (cioè l'energia consumata nell'ultima ora) dovrei comunque fare una query per "recuperare" l'ultimo salvataggio, ma solo se fosse passata un'ora (quindi magari un'metodo alternativo potrebbe ottimizzare il num di chiamate al DB).

Vi ringrazio in anticipo per l'aiuto.
Scusate per il poema .