Freigeben über


TimeZoneInfo.ConvertTimeBySystemTimeZoneId Methode

Definition

Konvertiert eine Zeit auf Grundlage eines Zeitzonenbezeichners in die Zeit in einer anderen Zeitzone.

Überlädt

ConvertTimeBySystemTimeZoneId(DateTime, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Konvertiert eine Zeit auf Grundlage von Zeitzonenbezeichnern von einer Zeitzone in eine andere.

ConvertTimeBySystemTimeZoneId(DateTime, String)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime

Parameter

dateTime
DateTime

Das Datum und die Uhrzeit, die konvertiert werden sollen.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone.

Ausnahmen

destinationTimeZoneId ist null.

Der Zeitzonenbezeichner wurde gefunden, aber die Registrierungsdaten sind beschädigt.

Der Prozess verfügt nicht über die erforderlichen Berechtigungen zum Lesen aus dem Registrierungsschlüssel, der die Zeitzoneninformationen enthält.

Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.

Hinweise

Bei der Konvertierung wendet die ConvertTimeBySystemTimeZoneId -Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.

Diese Überladung ist weitgehend identisch mit dem Aufrufen der ConvertTime(DateTime, TimeZoneInfo) -Methode, mit der Ausnahme, dass Sie die Zielzeitzone anhand ihres Bezeichners und nicht durch einen Objektverweis angeben können. Diese Methode ist besonders nützlich, wenn Sie eine Zeit konvertieren müssen, ohne das entsprechende Zeitzonenobjekt abzurufen, und Sie müssen nicht wissen, ob die konvertierte Zeit Standard- oder Sommerzeit ist.

Die ConvertTimeBySystemTimeZoneId(DateTime, String) -Methode bestimmt die Quellzeitzone anhand des Werts der -Eigenschaft des KinddateTime Parameters, wie in der folgenden Tabelle dargestellt.

Kind-Eigenschaftswert Quellzeitzone Methodenverhalten
DateTimeKind.Local Local Konvertiert die Ortszeit in die Uhrzeit in destinationTimeZone.
DateTimeKind.Utc Utc Konvertiert koordinierte Weltzeit (UTC) in die Zeit in destinationTimeZone.
DateTimeKind.Unspecified Angenommen, dass ist Local. Konvertiert die Ortszeit in die Uhrzeit in destinationTimeZone.

Die Kind -Eigenschaft des zurückgegebenen Werts DateTime wird wie in der folgenden Tabelle dargestellt festgelegt.

Bedingung Zurückgegebener Kind-Eigenschaftswert
destinationTimeZone ist TimeZoneInfo.Utc.Id. DateTimeKind.Utc
Jeder andere destinationTimeZone Wert. DateTimeKind.Unspecified

Wenn der Wert des dateTime Parameters eine mehrdeutige Ortszeit ist, wird er als Standardzeit interpretiert. Wenn der dateTime Parameter eine ungültige Ortszeit ist, löst diese Methode eine aus ArgumentException.

Wenn die Konvertierung von dateTime führt ein Datum und Uhrzeit-Wert, der älter als DateTime.MinValue oder später als DateTime.MaxValue, gibt diese Methode DateTime.MinValue oder DateTime.MaxValuebzw.

Diese Methode ruft Informationen zu der Zeitzone ab, deren Bezeichner durch den destinationTimeZoneId Parameter angegeben wird, aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS. Ein Zeitzonenobjekt, das mit der CreateCustomTimeZone -Methode erstellt wird, kann nicht abgerufen werden. Der destinationTimeZoneId Parameter muss genau dem Bezeichner der Zeitzone in der Länge entsprechen, jedoch nicht für den Fall, dass eine erfolgreiche Übereinstimmung auftritt. Das heißt, beim Vergleich von destinationTimeZoneId mit Zeitzonenbezeichnern wird die Groß-/Kleinschreibung nicht beachtet.

Weitere Informationen

Gilt für:

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.

public:
 static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset

Parameter

dateTimeOffset
DateTimeOffset

Das Datum und die Uhrzeit, die konvertiert werden sollen.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone.

Ausnahmen

destinationTimeZoneId ist null.

Der Zeitzonenbezeichner wurde gefunden, aber die Registrierungsdaten sind beschädigt.

Der Prozess verfügt nicht über die erforderlichen Berechtigungen zum Lesen aus dem Registrierungsschlüssel, der die Zeitzoneninformationen enthält.

Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.

Hinweise

Bei der Konvertierung wendet die ConvertTimeBySystemTimeZoneId -Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.

Diese Überladung ist identisch mit dem Aufrufen der ConvertTime(DateTimeOffset, TimeZoneInfo) -Methode, mit der Ausnahme, dass Sie die Zielzeitzone anhand ihres Bezeichners und nicht durch einen Objektverweis angeben können. Diese Methode ist besonders nützlich, wenn Sie eine Zeit konvertieren müssen, ohne das entsprechende Zeitzonenobjekt abzurufen, und Sie müssen nicht wissen, ob die konvertierte Zeit Standard- oder Sommerzeit ist.

Da der dateTimeOffset Parameter ein Datum und eine Uhrzeit zusammen mit dem Offset dieser Zeit von koordinierter Weltzeit (UTC) darstellt, kann er weder eine mehrdeutige Zeit noch eine ungültige Uhrzeit darstellen.

Diese Methode ruft die Zeitzone ab, deren Bezeichner durch den destinationTimeZoneId Parameter angegeben wird, aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS. Ein Zeitzonenobjekt, das mit der CreateCustomTimeZone -Methode erstellt wird, kann nicht abgerufen werden. Der destinationTimeZoneId Parameter muss genau dem Bezeichner der Zeitzone in der Länge entsprechen, jedoch nicht für den Fall, dass eine erfolgreiche Übereinstimmung auftritt. Das heißt, beim Vergleich von destinationTimeZoneId mit Zeitzonenbezeichnern wird die Groß-/Kleinschreibung nicht beachtet.

Bei der Konvertierung des dateTimeOffset Werts in die Zeit in der Zielzeitzone berücksichtigt die Methode alle Anpassungsregeln, die in der Zielzeitzone gelten.

Wenn die Konvertierung von dateTimeOffset führt ein Datum und Uhrzeit-Wert, der älter als DateTimeOffset.MinValue oder später als DateTimeOffset.MaxValue, gibt diese Methode DateTimeOffset.MinValue oder DateTimeOffset.MaxValuebzw.

Weitere Informationen

Gilt für:

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Konvertiert eine Zeit auf Grundlage von Zeitzonenbezeichnern von einer Zeitzone in eine andere.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime

Parameter

dateTime
DateTime

Das Datum und die Uhrzeit, die konvertiert werden sollen.

sourceTimeZoneId
String

Der Bezeichner der Quellzeitzone.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone, die dem dateTime-Parameter in der Quellzeitzone entsprechen.

Ausnahmen

Die Kind-Eigenschaft des dateTime-Parameters entspricht nicht der Quellzeitzone.

- oder -

dateTime ist eine ungültige Zeit in der Quellzeitzone.

sourceTimeZoneId ist null.

- oder -

destinationTimeZoneId ist null.

Die Zeitzonenbezeichner wurden gefunden, aber die Registrierungsdaten sind beschädigt.

Der Benutzer hat nicht die Berechtigungen, die dazu erforderlich sind, aus den Registrierungsschlüsseln zu lesen, die Zeitzonendaten enthalten.

Der sourceTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.

- oder -

Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.

Beispiele

Im folgenden Beispiel wird die TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) -Methode verwendet, um die Zeit anzuzeigen, die der lokalen Systemzeit in acht Städten der Welt entspricht.

DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _ 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))

Hinweise

Bei der Konvertierung wendet die ConvertTimeBySystemTimeZoneId -Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.

Obwohl es der TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) -Methode ähnelt, können Sie verwenden TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) , um die Quell- und Zielzeitzonen mithilfe ihrer Bezeichner anstelle ihrer TimeZoneInfo Objekte anzugeben. Diese Methode ist besonders nützlich, wenn Sie eine Zeit konvertieren müssen, ohne das entsprechende Zeitzonenobjekt abzurufen, und Sie müssen nicht wissen, ob die konvertierte Zeit Standard- oder Sommerzeit ist.

Diese Methode ruft die Zeitzonen, deren Bezeichner die sourceTimeZoneId Parameter und destinationTimeZoneId sind, aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS ab. Zeitzonenobjekte, die mit der CreateCustomTimeZone -Methode erstellt wurden, können nicht abgerufen werden.

Der Wert der Kind -Eigenschaft des dateTime Parameters muss dem sourceTimeZoneId -Parameter entsprechen, wie in der folgenden Tabelle gezeigt.

DateTime.Kind-Wert sourceTimeZone-Wert Methodenverhalten
DateTimeKind.Utc Entspricht TimeZoneInfo.Utc.Id. Konvertiert dateTime in die Uhrzeit der Zielzeitzone.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id. Löst eine aus ArgumentException.
DateTimeKind.Local Entspricht TimeZoneInfo.Local.Id. Konvertiert dateTime in die Uhrzeit der Zielzeitzone.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id. Löst eine aus ArgumentException.
DateTimeKind.Unspecified Alle. Konvertiert dateTime in die Uhrzeit der Zielzeitzone.

Da sie auf Aufrufen der -Methode basiert, führt die ConvertTimeBySystemTimeZoneId -Methode eine Suche ohne Berücksichtigung der FindSystemTimeZoneById Groß-/Kleinschreibung durch, um die Zeitzonen zu sourceTimeZoneId suchen, die und destinationTimeZoneIdentsprechen.

Wenn der Wert des dateTime Parameters eine mehrdeutige Zeit in der Quellzeitzone ist, wird er als Standardzeit interpretiert. Wenn der dateTime Parameter eine ungültige Uhrzeit in der Quellzeitzone ist, löst diese Methode eine aus ArgumentException.

Die Kind -Eigenschaft des zurückgegebenen DateTime Werts wird auf DateTimeKind.Unspecified festgelegt, es sei denn, die Zielzeitzone ist koordinierte Weltzeit (UTC), in diesem Fall ist sie auf DateTimeKind.Utcfestgelegt.

Weitere Informationen

Gilt für: