Maison >développement back-end >Golang >Comment puis-je obtenir une liste des fuseaux horaires utilisables pour time.Format() de Go ?

Comment puis-je obtenir une liste des fuseaux horaires utilisables pour time.Format() de Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-01 09:43:10659parcourir

How Can I Get a List of Usable Time Zones for Go's time.Format()?

Obtention d'une liste des fuseaux horaires utilisables pour l'heure de Go.Format()

Pour fournir aux utilisateurs un moyen pratique de sélectionner des fuseaux horaires dans votre applications, vous devrez peut-être remplir une liste déroulante avec une liste de fuseaux horaires valides. Cette liste peut être générée avec une méthode simple dans Go.

Solution :

Pour obtenir une liste complète des fuseaux horaires couramment pris en charge qui peuvent être utilisés avec l'heure. Fonction Format(), vous pouvez utiliser ce qui suit code :

package main

import (
    "fmt"
    "os"
    "strings"
)

var zoneDirs = []string{
    // Update path according to your OS
    "/usr/share/zoneinfo/",
    "/usr/share/lib/zoneinfo/",
    "/usr/lib/locale/TZ/",
}

var zoneDir string

func main() {
    for _, zoneDir = range zoneDirs {
        ReadFile("")
    }
}

func ReadFile(path string) {
    files, _ := os.ReadDir(zoneDir + path)
    for _, f := range files {
        if f.Name() != strings.ToUpper(f.Name()[:1]) + f.Name()[1:] {
            continue
        }
        if f.IsDir() {
            ReadFile(path + "/" + f.Name())
        } else {
            fmt.Println((path + "/" + f.Name())[1:])
        }
    }
}

Explication :

  • Ce code parcourt les répertoires de fuseaux horaires potentiels pour localiser les fuseaux horaires valides.
  • Il lit le contenu du répertoire et ignore les entrées avec une casse mixte.
  • Si une entrée est un répertoire, il appelle récursivement le ReadFile fonction pour continuer la recherche.
  • Les noms de fuseaux horaires sont ensuite imprimés sans la barre oblique.

Sortie :

L'exécution du code produira une liste de noms de fuseaux horaires, tels que :

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
...

Vous pouvez intégrer cette liste dans votre modèle HTML pour un fuseau horaire convivial fonction de sélection.

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!

Déclaration:
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