PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment faites-vous pour JSON Marshall un pq.NullTime en UTC plutôt que dans le fuseau horaire local ?

Les bibliothèques construisent généralement time.Time valeurs utilisant le fuseau horaire local, mais l'heure instantanée est toujours la même, vous ne devriez donc pas vous en soucier.

Si vous souhaitez afficher/afficher spécifiquement l'heure dans la zone UTC, "basculez" votre heure sur le fuseau horaire UTC. Pour cela, vous pouvez utiliser le Time.UTC() méthode :

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

C'est tout.

Notez également que si votre NullTime n'est pas valide, je préfère afficher JSON null au lieu d'une chaîne vide.