TimeZoneInfo.ConvertTimeBySystemTimeZoneId Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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 destinationTimeZoneId
entsprechen.
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.