Ho realizzato una chat in php e js, vorrei aggiungere la visualizzazione della data e l’ora del messaggio inviato, la chat si appoggia su un database mysql, la tabella dei messaggi ha un campo di tipo timestamp che si aggiorna in automatico (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP).
Quindi per visualizzare data e ora non faccio altro che stampare a video il campo ts.
Il problema che mi sono posto è, se un utente con un fuso orario diverso da quello italiano, posta un messaggio, non posso stampare direttamente il campo ts, in quanto contiene il timestamp del server italiano, che è diverso dal timestamp attuale del client che scrive.
Non so se esiste qualche funzione o script pronto che risolva il problema, ma l’idea che mi è venuta in mente è una cosa del genere:
- Recupero timestamp server con php
- Recupero timestamp client con js
- La differenza tra i due timestamp è il fuso orario tra Italia e client estero.
- Tramite la differenza di fuso orario, stampo il campo ts ricalcolato.
Ho avuto problemi pratici per implementare una cosa del genere.
L’iter logico che ho descritto è corretto o si è soliti procedere diversamente?