4

Windows のタイム ゾーン名の翻訳をまとめたリストを知っている人はいますか? ドイツ語、フランス語、スペイン語の 75 かそこらすべてが必要です。または、.Net を使用してそのようなリストをコンパイルするにはどうすればよいですか?

フォーマット例: (GMT+01:00) ベオグラード、ブラチスラバ、ブダペスト、リュブリャナ、プラハ

4

3 に答える 3

6

https://iana.org/time-zonesまたはftp://ftp.iana.org/tz(またはWeb上の他の多くのソース)からタイムゾーンデータベースを取得します。これらは、国連ISOコードと英語の国/都市名で入力されます

そして、それらをhttp://www.unicode.org/cldr/から翻訳します。

例えば

于 2009-03-05T23:17:19.543 に答える
3

Microsoft Terminology Collection は、非商用目的でダウンロードできます。

于 2013-01-07T23:58:51.597 に答える
0

次のレジストリにすべてのタイム ゾーンのリストがあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

以下を使用してロードできます。

ArrayList zones = new ArrayList();

using( RegistryKey key = Registry.LocalMachine.OpenSubKey(
    @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" ) )
{
    string[] zoneNames = key.GetSubKeyNames();

    foreach( string zoneName in zoneNames )
    {
        using( RegistryKey subKey = key.OpenSubKey( zoneName ) )
        {
            TimeZoneInformation tzi = new TimeZoneInformation();
            tzi.Name = zoneName;
            tzi.DisplayName = (string)subKey.GetValue( "Display" );
            tzi.StandardName = (string)subKey.GetValue( "Std" );
            tzi.DaylightName = (string)subKey.GetValue( "Dlt" );
            object value = subKey.GetValue( "Index" );
            if( value != null )
            {
                tzi.Index = (int)value;
            }

            tzi.InitTzi( (byte[])subKey.GetValue( "Tzi" ) );

            zones.Add( tzi );
        }
    }
}

TimeZoneInformation は、簡単にアクセスできるように情報を格納する単なるクラスです。

探している説明は、表示値にあります。

于 2009-03-05T23:50:59.277 に答える