4 Stimmen

Was ist das Äquivalent in C# von TimeZone.getDefault().getID() in Java?

Für jemanden, der im Republic of Molossia lebt, wird der folgende Code in Java ausgeführt:

String TimeZoneId = TimeZone.getDefault().getID();
System.out.println(TimeZoneId);

wird drucken

America/Regina

Ich habe TimeZoneInfo.GetSystemTimeZones() ausprobiert, aber der Rückgabewert scheint keine tzdb-ID zu sein. Gibt es in C# eine äquivalente Methode?

4voto

Matt Johnson-Pint Punkte 212496

.Net unterstützt das TZDB nicht nativ, da Microsoft über eine eigene Zeitzone-Datenbank verfügt. Siehe die Zeitzone Tag-Wiki für Details.

Wenn Sie mit TZDB-Zonen arbeiten möchten, verwenden Sie die NodaTime Bibliothek. Die genaue Übersetzung dessen, was Sie gefragt haben, ist:

using NodaTime;

...

var timeZoneId = DateTimeZoneProviders.Tzdb.GetSystemDefault().Id;
Console.WriteLine(timeZoneId);

1voto

Hoss Punkte 400

Typischerweise kann dies mit der TimeZone-Klasse durchgeführt werden. Dies ist meines Wissens nach das Beste, was Sie mit den nativen Bibliotheken erreichen können. Warum benötigen Sie dieses spezifische Ergebnis?

Schauen Sie sich die Microsoft Time Zones und die Konvertierungstabelle für das Windows-Äquivalent an, da Windows den TZID nicht vollständig unterstützt. Schauen Sie sich die unten stehende Stack Overflow-Frage für weitere Informationen an. Ich hoffe, dies ist nützlicher, da ich Ihre vorherige Frage falsch verstanden habe!!! - Entschuldigung!

//Holen Sie eine Referenz auf unser Zeitzone-Objekt
TimeZone t = TimeZone.CurrentTimeZone;

//Geben Sie den Anzeigenamen aus
Console.WriteLine(t.StandardName);

MSDN REFERENZ

http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html

Bitte beachten Sie diese vorherige Stackoverflow-Frage .NET TimeZoneInfo aus der Olson-Zeitzone

1voto

tahiat Punkte 116

Ein ähnlicher Wert wird zurückgegeben von

Calendar.GetTimeZone

für weitere Informationen: https://learn.microsoft.com/en-us/uwp/api/windows.globalization.calendar.gettimezone?view=winrt-20348

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X