Es scheint, dass ich einen Fehler in WinApi gefunden habe. Wenn ich TimeZoneInfo.Local.DisplayName in Debug in meinem Visual Studio 2015 verwende, gibt es die richtige Variante für mich, als Beispiel "(UTC + 02: 00) Helsinki, Kiew, Riga, Sofia, Tallinn, Vilnius". Im Release-Modus (.net native) gibt mir dieselbe API "FLE Standard Time" zurück. Seien Sie dankbar, wenn Sie erfahren möchten, wie Sie Informationen zur Zeitzone auf andere Weise erhalten oder wie Sie dieses Problem beheben können.TimeZoneInfo in WinApi gibt schlechten Wert zurück
Antwort
Sie haben wahrscheinlich etwas in Ihrem Code verpasst. Ein Fehler, den ich zuvor gemacht, und ist leicht zu machen ist verwirrend DisplayName
mit 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
}
Als Referenz können Sie überprüfen, Time Zone IDs
Ihre Hilfe mich mit Time Zone IDs Link! Jetzt kann ich Konverter machen. Aber ich bin sicher, dass DisplayName anstelle von DaylightName verwendet wird. Und Problem in Debug/Release Mod. Also ich denke, es ist nicht mein Code-Fehler. – Alexei
Das ist seltsam. Ich kann das Problem nicht selbst reproduzieren, ich habe die gleichen Ergebnisse sowohl im Debug- als auch im Release-Modus. Vielleicht können Sie einige Details zu Ihrer Umgebung und etwas Code angeben? – snickro
Jetzt verwende ich Visual Studio 2015 Enterprise Update 3 (Problem wurde auch auf 2 Update). Ich erstelle nur ein klares [UWP C# -Projekt] (https://www.dropbox.com/s/jzv71ag7e45v301/TimeZoneTest.rar?dl=0), und das Problem besteht immer noch. Windows 10 (10.0.10586.494) – Alexei
- 1. Frustum Intersektionscode gibt schlechten Wert zurück
- 2. $ _POST gibt keinen Wert zurück
- 3. DATESYTD gibt keinen Wert zurück
- 4. DataReader gibt keinen Wert zurück?
- 5. Funktion gibt keinen Wert zurück
- 6. CL_DEVICE_GLOBAL_MEM_SIZE gibt falschen Wert zurück
- 7. Cursor gibt keinen Wert zurück
- 8. TimeZoneInfo zu TIME_ZONE_INFORMATION Struktur
- 9. strtok() gibt falschen Wert in C99 zurück?
- 10. Bash doppelte Prozesssubstitution gibt einen schlechten Dateideskriptor
- 11. Wie bekomme ich TimeZoneInfo Kurzname
- 12. NSDecimalNumber gibt einen falschen Wert zurück uint64_t
- 13. Bearbeitungsformular gibt keinen ausgewählten Wert zurück
- 14. DataTable Select-Methode gibt keinen Wert zurück
- 15. g_hash_table_contains gibt einen unerwarteten Wert zurück
- 16. Realm Notification Block gibt unmodifizierten Wert zurück
- 17. Warum gibt Math.Cos den falschen Wert zurück?
- 18. Androids ContextCompat.checkSelfPermission() gibt den falschen Wert zurück
- 19. Warum gibt printf einen Wert zurück?
- 20. AltBeacon getIdentifier gibt falschen Wert zurück
- 21. Wordpress - get_post_meta() Funktion gibt keinen Wert zurück?
- 22. Was gibt clojure 'val' diesen Wert zurück?
- 23. pandas pct_change() Funktion gibt falschen Wert zurück
- 24. date_create_from_format() gibt den falschen Wert zurück.
- 25. php strpos gibt keinen Wert zurück
- 26. HttpURLConnection POST-Anforderung gibt keinen Wert zurück
- 27. Funktion gibt keinen Wert zurück Actionscript Ratespiel
- 28. PHP-Funktion gibt keinen Wert zurück
- 29. System.Random gibt immer den gleichen Wert zurück
- 30. Get td Wert gibt undefined zurück
Ich kann es nicht wiedergegeben haben, bekam '" (UTC + 03 : 00) Moskau, St. Petersburg, Wolgograd (RTZ 2) "in beiden Fällen (debuggen und release). Visual Studio 2015, target.Net Framework 4.5.1 –
Die Wahrscheinlichkeit für einen Fehler in der Windows-API ist um viele, viele Größenordnungen niedriger als für einen Fehler im Client-Code. Wir müssen ** Ihren ** Code sehen. – IInspectable
Unter der Antwort im Kommentar poste ich die Lösung mit Problem – Alexei