ホームページ > バックエンド開発 > Golang > Go ですべての有効なタイムゾーンのリストを取得するにはどうすればよいですか?

Go ですべての有効なタイムゾーンのリストを取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-29 15:40:11
オリジナル
517 人が閲覧しました

How to Get a List of All Valid Time Zones in Go?

Go で有効なタイム ゾーンのリストを取得する方法

プログラミングでは、さまざまな操作に適切なタイム ゾーンを選択することが重要な場合があります。 Go では、ユーザーの優先タイム ゾーンの選択に使用するために、一般的に受け入れられているタイム ゾーンを配列に設定する必要があるシナリオが発生する場合があります。この記事では、この問題に対する包括的な解決策について説明します。

解決策

Go でタイムゾーンのリストを取得するには、次のアプローチの活用を検討してください。

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:])
        }
    }
}
ログイン後にコピー

出力

サンプルコードは次のようになります。有効なタイムゾーンの包括的なリストを出力します。出力のスニペットは次のとおりです。

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
...
ログイン後にコピー

使用法

このリストを利用して、HTML テンプレートの配列またはドロップダウン メニューを設定できます。ユーザーにタイムゾーンの選択肢を提供することで、ユーザーは自分の場所に最も関連したタイムゾーンを選択できるようになり、アプリケーションで正確な時刻を維持できるようになります。

以上がGo ですべての有効なタイムゾーンのリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート