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ść
Odpowiedz
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
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
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
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
- 1. dateDiff zwraca nieprawidłową wartość
- 2. Ruby on Rails: #any? zwraca nieprawidłową wartość
- 3. Dlaczego std :: max zwraca nieprawidłową wartość?
- 4. Java: calendar.setTimeInMillis() zwraca nieprawidłową wartość HOUR_OF_DAY
- 5. Minecraft Forge EntityJoinWorldEvent zwraca nieprawidłową lokalizację! Błąd
- 6. Oblicz wartość mieszania MD5 przez C++ WinAPI
- 7. TimeZoneInfo i kraj kody
- 8. Konwertuj NodaTime DateTimeZone na TimeZoneInfo
- 9. Czy Winapi obsługuje globalnie?
- 10. Skąd wziąć krótką nazwę TimeZoneInfo?
- 11. Hardwarebreakpoint WINAPI
- 12. W jaki sposób `({...})` zwraca wartość?
- 13. kmeans zwraca wartość w R
- 14. Dlaczego właściwość NSString zmienia się na nieprawidłową wartość?
- 15. PHP is_writable() zwraca wartość true, ale file_put_contents() zwraca wartość false
- 16. Poczta zwraca wartość false
- 17. ConfigurationManager.AppSettings - Zwraca wartość Null
- 18. Sensor.TYPE_ROTATION_VECTOR zwraca wartość null
- 19. Plus.PeopleApi.getCurrentPerson zwraca wartość null
- 20. mapFragment.getMap() zwraca wartość null
- 21. Subprocess.poll() fałszywie zwraca wartość
- 22. Konstruktor zwraca wartość?
- 23. System.Web.Security.FormsAuthentication.Encrypt zwraca wartość null
- 24. getSystemResourceAsStream() zwraca wartość null
- 25. ASP.NET - DropDownList zawiera nieprawidłową wartość po kliknięciu przycisku Back-Browser
- 26. DownloadManager.Request.setNotificationVisibility nie z jSecurityException: nieprawidłową wartość dla widoczności: 2
- 27. Dlaczego wartość Integer.respond_to? (: Even?) Zwraca wartość false?
- 28. Dlaczego "wartośćAsNumber" zwraca wartość NaN jako wartość?
- 29. phpinfo zgłasza nieprawidłową wersję PCR
- 30. getResourceAsStream() zawsze zwraca wartość null
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 –
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
Pod odpowiedź w komentarzu Poste rozwiązanie z problemem – Alexei