PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come si fa JSON Marshall a pq.NullTime in UTC anziché nel fuso orario locale?

Le biblioteche di solito costruiscono time.Time valori utilizzando il fuso orario locale, ma l'istante di tempo è sempre lo stesso, quindi non dovresti preoccuparti di questo.

Se si desidera visualizzare/emettere in modo specifico l'ora nel fuso orario UTC, "passare" l'orario al fuso orario UTC. Per questo, puoi utilizzare Time.UTC() metodo:

val := fmt.Sprintf("\"%s\"", nt.Time.UTC().Format("01/02/2006 15:04:05"))

Questo è tutto.

Nota anche che se il tuo NullTime non è valido, preferirei restituire JSON null invece di una stringa vuota.