2016-07-26 8 views
6

Wygląda na to, że znalazłem błąd w WinApi. Kiedy używam TimeZoneInfo.Local.DisplayName w Debugowanie w moim Visual Studio 2015 to zwracam prawy wariant do mnie, jako przykład "(UTC + 02: 00) Helsinki, Kijów, Ryga, Sofia, Tallin, Wilno". W trybie zwolnienia (.net native) ten sam api zwraca mi "FLE Standard Time". Warto poznać sposób uzyskania informacji o strefie czasowej w inny sposób lub rozwiązać ten problem.TimeZoneInfo w WinApi zwraca nieprawidłową wartość

+0

nie mogę być powielana go, dostał '" (UTC + 03 : 00) Moskwa, Sankt Petersburg, Wołgograd (RTZ 2) "w obu przypadkach (debugowanie i wydawanie). Visual Studio 2015, target .Net Framework 4.5.1 –

+0

Prawdopodobieństwo wystąpienia błędu w interfejsie API systemu Windows jest o wiele, wiele rzędów wielkości mniejsze niż w przypadku błędu w kodzie klienta. Musimy zobaczyć ** twój ** kod. – IInspectable

+0

Pod odpowiedź w komentarzu Poste rozwiązanie z problemem – Alexei

Odpowiedz

2

Najprawdopodobniej przegapiłeś coś w swoim kodzie. Jeden błąd, który zrobiłem wcześniej, i jest łatwe do wykonania jest mylące DisplayName z DaylightName:

 static void Main(string[] args) 
     { 
      var timeZoneName = TimeZoneInfo.Local.DaylightName; //FLE Standard Time 
      var displayName = TimeZoneInfo.Local.DisplayName; //(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius 
     } 

Dla porównania, można sprawdzić Time Zone IDs

+0

Twój pomóż mi z linią ID stref czasowych! Teraz mogę zrobić konwerter. Ale nie chcę używać nazwy DisplayName zamiast DaylightName. I problem z modem debugowania/wydawania. Więc myślę, że to nie jest mój błąd w kodzie. – Alexei

+0

To dziwne. Nie mogę odtworzyć problemu sam, mam dokładnie takie same wyniki zarówno w trybie debugowania i wydania. Może możesz podać trochę szczegółów na temat swojego środowiska i kodu? – snickro

+0

Teraz używam programu Visual Studio 2015 Enterprise Update 3 (problem był również w przypadku 2 aktualizacji). Po prostu utworzę jasny [projekt UWP C#] (https://www.dropbox.com/s/jzv71ag7e45v301/TimeZoneTest.rar?dl=0), a problem nadal występuje. Windows 10 (10.0.10586.494) – Alexei

Powiązane problemy