Dal momento che stai parlando di pianificazione del futuro tempo, memorizzando solo UTC non è necessariamente l'approccio migliore.
Tieni presente che le regole del fuso orario possono (e cambiano). Se applichi un aggiornamento ai dati del tuo fuso orario (in PHP, è fatto con timezonedb di PECL pacchetto), tutti i dati che hai già convertito in UTC potrebbero non essere validi.
La soluzione migliore è memorizzare più valori:
-
La data e l'ora locali originali
-
Il fuso orario originale (es.
"America/New_York"
) -
La data e l'ora UTC, convertite dai valori locali
Quando vuoi vedere se è ora di eseguire l'attività, devi confrontare la data e l'ora UTC correnti con il valore UTC memorizzato.
Quando applichi gli aggiornamenti del fuso orario, elimini i precedenti valori UTC convertiti per tutte le voci future e ricalcoli quelli nuovi in base ai dati aggiornati.
Se non lo fai, stai perdendo l'intento originariamente fornito dall'utente. E se non mantieni aggiornati i dati del tuo fuso orario, il tuo sistema non sarà a conoscenza di vari cambiamenti in corso in tutto il mondo, come le modifiche apportate in Egitto all'inizio di quest'anno o le modifiche in arrivo a ottobre per la Russia.
Ultimo punto:se implementato correttamente, il fuso orario del tuo server non dovrebbe avere importanza. Confronta UTC con UTC.