2009-03-05 28 views
4

Windows'ta saat dilimi adları için derlenmiş bir çeviriler listesi bilen var mı? Onların 75'ine, hatta Almanca, Fransızca ve İspanyolca'ya ihtiyacım var. Alternatif olarak, böyle bir listeyi derlemek için .Net'i nasıl kullanırdım?Çevrilmiş Zaman Dilimi açıklamaları için bir kaynak bilen var mı?

Örnek formatı: (GMT + 01: 00) Belgrad, Bratislava, Budapeşte, Ljubljana, Prag

cevap

1

: Microsoft \ Windows NT \ CurrentVersion \ Saat Dilimleri \

HKEY_LOCAL_MACHINE \ SOFTWARE

Aşağıdaki adresler kullanılarak yüklenebilir:

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, bilgiyi kolay erişim için depolayan bir sınıftır.

Aradığınız açıklama Ekran değeridir.

+0

Bu yanıt birkaç şekilde yanlış görünüyor. İlk olarak, OP tercüme isimleri istedi. İkinci olarak, gösterilen kod yerine TimeZoneInfo.GetSystemTimeZones() yöntemini kullanabilirsiniz. –