Mysql
 sql >> Database >  >> RDS >> Mysql

Come memorizzare un datetime in MySQL con informazioni sul fuso orario

Hai detto:

Voglio che escano sempre come ora della Tanzania e non nelle ore locali in cui si trovano i vari collaboratori.

Se questo è il caso, allora non dovresti usa UTC. Tutto quello che devi fare è usare un DATETIME digita MySQL invece di un TIMESTAMP digitare.

Dalla documentazione MySQL :

MySQL converte TIMESTAMP valori dal fuso orario corrente a UTC per l'archiviazione e viceversa da UTC al fuso orario corrente per il recupero. (Ciò non si verifica per altri tipi come DATETIME .)

Se sei già utilizzando un DATETIME digita, quindi non devi impostarlo per l'ora locale per cominciare. Dovrai concentrarti meno sul database e più sul codice dell'applicazione, che non hai mostrato qui. Il problema e la soluzione varieranno drasticamente a seconda della lingua, quindi assicurati di contrassegnare la domanda con la lingua appropriata del codice dell'applicazione.