Per chiunque abbia un problema simile in futuro, fai riferimento a questa discussione molto approfondita sul tempo nella programmazione . Mi ha aiutato molto.
Uno dei modi per gestire il tempo è
negozio:
-
Ottieni ora locale utilizzando una libreria JavaScript o qualsiasi altro front-end.
-
Converti in timestamp UTC Unix nel front-end JS.
-
Passa a back end come UTC e memorizza nel database come UTC.
e recupera:
-
Scaricalo dal database come UTC,
-
Passa attraverso il back-end a JavaScript come UTC,
-
Avere JS (front-end) convertirlo in ora locale.
In breve, gestisci sempre il tempo come UTC nel back-end e nel database. Avere il front end convertire il tempo in locale perché solo il front-end può indovinare quale fuso orario l'utente è, e indovina piuttosto bene la maggior parte del tempo. Sebbene a causa della complessità di fusi orari, DST, utenti in viaggio, VPN, ecc. Non sembra essere una soluzione a prova di errore al 100%.