Maison > développement back-end > Golang > Comment puis-je définir globalement le fuseau horaire dans une application Go ?

Comment puis-je définir globalement le fuseau horaire dans une application Go ?

Susan Sarandon
Libérer: 2024-12-02 08:22:09
original
545 Les gens l'ont consulté

How Can I Globally Set the Time Zone in a Go Application?

Définition globale du fuseau horaire dans Go

Dans Go, la définition globale du fuseau horaire est généralement obtenue en modifiant la variable d'environnement TZ ou en initialisant en utilisant la fonction time.LoadLocation(). Bien que la modification de l'environnement TZ fonctionne comme prévu, cela devient problématique lorsque le fuseau horaire doit être défini par programme dans l'application.

Pour surmonter ce problème, vous pouvez créer un package personnalisé qui définit le fuseau horaire avant tout autre package. importe le package de temps. En plaçant ce package personnalisé comme première importation dans le package principal, nous nous assurons que le fuseau horaire est initialisé avec la valeur souhaitée avant que d'autres packages ne l'utilisent.

Voici un exemple d'un tel package :

package tzinit

import (
    "os"
)

func init() {
    os.Setenv("TZ", "Africa/Cairo")
}
Copier après la connexion

Pour utiliser ce package, importez-le d'abord dans le package principal, comme ceci :

package main

import _ "path/to/tzinit"

import (
    "fmt"
    "os"
    "time"
)

func main() {
    // ...
}
Copier après la connexion

En utilisant cette approche, nous pouvons définir le fuseau horaire globalement dans l'application, garantissant ainsi la cohérence entre tous les packages qui importent le package time.

Il est important de noter que même si la spécification Go recommande de traiter plusieurs fichiers dans l'ordre lexical des noms de fichiers, il n'est pas recommandé de s'appuyer uniquement sur ce comportement. Définir la variable d'environnement TZ avant de lancer l'application Go reste le moyen le plus fiable de garantir que le fuseau horaire est initialisé comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal