Conversion de l'heure UTC en un fuseau horaire spécifique en Go avec time.LoadLocation
Lors de la conversion de l'heure UTC en une heure locale spécifique, il est essentiel de prendre en compte informations sur le fuseau horaire pour plus de précision. Tenter d'ajouter manuellement des différences horaires peut entraîner des résultats incorrects.
Au lieu de cela, l'approche préférée dans Go consiste à utiliser time.LoadLocation pour obtenir les informations de fuseau horaire pour l'emplacement souhaité. Voici un exemple de code Go corrigé :
var countryTz = map[string]string{ "Hungary": "Europe/Budapest", "Egypt": "Africa/Cairo", } func timeIn(name string) time.Time { loc, err := time.LoadLocation(countryTz[name]) if err != nil { panic(err) } return time.Now().In(loc) } func main() { utc := time.Now().UTC().Format("15:04") hun := timeIn("Hungary").Format("15:04") eg := timeIn("Egypt").Format("15:04") fmt.Println(utc, hun, eg) }
Dans cet exemple, une carte (countryTz) est utilisée pour associer les noms de pays à leurs chaînes de fuseau horaire correspondantes. La fonction timeIn prend le nom du pays, charge les informations de fuseau horaire à l'aide de time.LoadLocation et renvoie l'heure actuelle dans ce fuseau horaire spécifique.
La fonction principale imprime ensuite l'heure UTC et les heures locales de la Hongrie et L'Égypte utilise timeIn. Cette approche garantit que les différences de fuseaux horaires et d'heure d'été sont gérées correctement.
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!