TimeZoneInfo.ConvertTimeBySystemTimeZoneId Methode

Definition

Konvertiert eine Zeit auf Grundlage eines Zeitzonenbezeichners in die Zeit in einer anderen Zeitzone.Converts a time to the time in another time zone based on a time zone identifier.

Überlädt

ConvertTimeBySystemTimeZoneId(DateTime, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Konvertiert eine Zeit auf Grundlage von Zeitzonenbezeichnern von einer Zeitzone in eine andere.Converts a time from one time zone to another based on time zone identifiers.

ConvertTimeBySystemTimeZoneId(DateTime, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.Converts a time to the time in another time zone based on the time zone's identifier.

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

Parameter

dateTime
DateTime

Das Datum und die Uhrzeit, die konvertiert werden sollen.The date and time to convert.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.The identifier of the destination time zone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone.The date and time in the destination time zone.

Ausnahmen

destinationTimeZoneId ist nulldestinationTimeZoneId is null.

Der Zeitzonenbezeichner wurde gefunden, aber die Registrierungsdaten sind beschädigt.The time zone identifier was found, but the registry data is corrupted.

Der Prozess verfügt nicht über die erforderlichen Berechtigungen zum Lesen aus dem Registrierungsschlüssel, der die Zeitzoneninformationen enthält.The process does not have the permissions required to read from the registry key that contains the time zone information.

Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.The destinationTimeZoneId identifier was not found on the local system.

Hinweise

Beim Durchführen der Konvertierung wendet die ConvertTimeBySystemTimeZoneId-Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Diese Überladung ist größtenteils identisch mit dem Aufruf der ConvertTime(DateTime, TimeZoneInfo)-Methode, mit der Ausnahme, dass Sie die Ziel Zeitzone anhand ihres Bezeichners anstelle eines Objekt Verweises angeben können.This overload is largely identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Diese Methode ist besonders nützlich, wenn Sie eine Uhrzeit konvertieren müssen, ohne das Zeit Zonen Objekt abzurufen, das Ihr entspricht, und Sie nicht wissen müssen, ob die konvertierte Zeit eine Standard-oder Sommerzeit ist.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Die ConvertTimeBySystemTimeZoneId(DateTime, String)-Methode bestimmt die Quell Zeitzone aus dem Wert der Kind-Eigenschaft des dateTime-Parameters, wie in der folgenden Tabelle gezeigt.The ConvertTimeBySystemTimeZoneId(DateTime, String) method determines the source time zone from the value of the dateTime parameter's Kind property, as the following table shows.

Kind-Eigenschafts WertKind property value Quell ZeitzoneSource time zone MethodenverhaltenMethod behavior
DateTimeKind.Local Local Konvertiert die lokale Zeit in die Zeit in destinationTimeZone.Converts the local time to the time in destinationTimeZone.
DateTimeKind.Utc Utc Konvertiert die koordinierte Weltzeit (UTC) in die Zeit in destinationTimeZone.Converts Coordinated Universal Time (UTC) to the time in destinationTimeZone.
DateTimeKind.Unspecified Angenommen, Localist.Assumed to be Local. Konvertiert die lokale Zeit in die Zeit in destinationTimeZone.Converts the local time to the time in destinationTimeZone.

Die Kind-Eigenschaft des zurückgegebenen DateTime Werts wird wie in der folgenden Tabelle dargestellt festgelegt.The Kind property of the returned DateTime value is set as shown in the following table.

BedingungCondition Zurückgegebener Kind-Eigenschafts WertReturned Kind property value
Der Jointyp (destinationTimeZone) lautet TimeZoneInfo.Utc.Id.The destinationTimeZone is TimeZoneInfo.Utc.Id. DateTimeKind.Utc
Alle anderen destinationTimeZone-Werte.Any other destinationTimeZone value. DateTimeKind.Unspecified

Wenn der Wert des dateTime-Parameters eine mehrdeutige Ortszeit ist, wird er als Standardzeit interpretiert.If the value of the dateTime parameter is an ambiguous local time, it is interpreted as a standard time. Wenn der dateTime-Parameter eine ungültige Ortszeit ist, löst diese Methode eine ArgumentExceptionaus.If the dateTime parameter is an invalid local time, this method throws an 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.If the conversion of dateTime results in a date and time value that is earlier than DateTime.MinValue or later than DateTime.MaxValue, this method returns DateTime.MinValue or DateTime.MaxValue, respectively.

Diese Methode ruft Informationen über die Zeitzone ab, deren Bezeichner durch den destinationTimeZoneId-Parameter aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS angegeben wird.This method retrieves information on the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Es kann kein Zeit Zonen Objekt abgerufen werden, das mit der CreateCustomTimeZone-Methode erstellt wird.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Der destinationTimeZoneId-Parameter muss genau mit dem-Bezeichner der Zeitzone übereinstimmen, jedoch nicht im Fall, dass eine erfolgreiche Übereinstimmung auftritt. Das heißt, beim Vergleich von destinationTimeZoneId mit Zeit Zonen Bezeichnerzeichen wird die Groß-/Kleinschreibung nicht beachtet.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

Siehe auch

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Konvertiert eine Zeit auf Grundlage des Bezeichners der Zeitzone in die Zeit in einer anderen Zeitzone.Converts a time to the time in another time zone based on the time zone's identifier.

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

Parameter

dateTimeOffset
DateTimeOffset

Das Datum und die Uhrzeit, die konvertiert werden sollen.The date and time to convert.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.The identifier of the destination time zone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone.The date and time in the destination time zone.

Ausnahmen

destinationTimeZoneId ist nulldestinationTimeZoneId is null.

Der Zeitzonenbezeichner wurde gefunden, aber die Registrierungsdaten sind beschädigt.The time zone identifier was found but the registry data is corrupted.

Der Prozess verfügt nicht über die erforderlichen Berechtigungen zum Lesen aus dem Registrierungsschlüssel, der die Zeitzoneninformationen enthält.The process does not have the permissions required to read from the registry key that contains the time zone information.

Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.The destinationTimeZoneId identifier was not found on the local system.

Hinweise

Beim Durchführen der Konvertierung wendet die ConvertTimeBySystemTimeZoneId-Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Diese Überladung ist identisch mit dem Aufruf der ConvertTime(DateTime, TimeZoneInfo)-Methode, mit der Ausnahme, dass Sie die Ziel Zeitzone anhand ihres Bezeichners anstelle eines Objekt Verweises angeben können.This overload is identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Diese Methode ist besonders nützlich, wenn Sie eine Uhrzeit konvertieren müssen, ohne das Zeit Zonen Objekt abzurufen, das Ihr entspricht, und Sie nicht wissen müssen, ob die konvertierte Zeit eine Standard-oder Sommerzeit ist.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Da der dateTimeOffset-Parameter ein Datum und eine Uhrzeit mit dem Offset dieser Uhrzeit von der koordinierten Weltzeit (UTC) darstellt, kann er weder eine mehrdeutige Zeit noch eine ungültige Uhrzeit darstellen.Because the dateTimeOffset parameter represents a date and time together with that time's offset from Coordinated Universal Time (UTC), it cannot represent either an ambiguous time or an invalid time.

Diese Methode ruft die Zeitzone ab, deren Bezeichner durch den destinationTimeZoneId-Parameter aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS angegeben wird.This method retrieves the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Es kann kein Zeit Zonen Objekt abgerufen werden, das mit der CreateCustomTimeZone-Methode erstellt wird.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Der destinationTimeZoneId-Parameter muss genau mit dem-Bezeichner der Zeitzone übereinstimmen, jedoch nicht im Fall, dass eine erfolgreiche Übereinstimmung auftritt. Das heißt, beim Vergleich von destinationTimeZoneId mit Zeit Zonen Bezeichnerzeichen wird die Groß-/Kleinschreibung nicht beachtet.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

Bei der Umstellung des dateTimeOffset Werts in die Uhrzeit in der Ziel Zeitzone berücksichtigt die-Methode alle in der Ziel Zeitzone geltenden Anpassungsregeln.In converting the dateTimeOffset value to the time in the destination time zone, the method takes into account any adjustment rules in effect in the destination time zone.

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.If the conversion of dateTimeOffset results in a date and time value that is earlier than DateTimeOffset.MinValue or later than DateTimeOffset.MaxValue, this method returns DateTimeOffset.MinValue or DateTimeOffset.MaxValue, respectively.

Siehe auch

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Konvertiert eine Zeit auf Grundlage von Zeitzonenbezeichnern von einer Zeitzone in eine andere.Converts a time from one time zone to another based on time zone identifiers.

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

Parameter

dateTime
DateTime

Das Datum und die Uhrzeit, die konvertiert werden sollen.The date and time to convert.

sourceTimeZoneId
String

Der Bezeichner der Quellzeitzone.The identifier of the source time zone.

destinationTimeZoneId
String

Der Bezeichner der Zielzeitzone.The identifier of the destination time zone.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone, die dem dateTime-Parameter in der Quellzeitzone entsprechen.The date and time in the destination time zone that corresponds to the dateTime parameter in the source time zone.

Ausnahmen

Die Kind-Eigenschaft des dateTime-Parameters entspricht nicht der Quellzeitzone.The Kind property of the dateTime parameter does not correspond to the source time zone.

Oder-or- dateTime ist eine ungültige Zeit in der Quellzeitzone.dateTime is an invalid time in the source time zone.

sourceTimeZoneId ist nullsourceTimeZoneId is null.

Oder-or- destinationTimeZoneId ist nulldestinationTimeZoneId is null.

Die Zeitzonenbezeichner wurden gefunden, aber die Registrierungsdaten sind beschädigt.The time zone identifiers were found, but the registry data is corrupted.

Der Benutzer hat nicht die Berechtigungen, die dazu erforderlich sind, aus den Registrierungsschlüsseln zu lesen, die Zeitzonendaten enthalten.The user does not have the permissions required to read from the registry keys that hold time zone data.

Der sourceTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.The sourceTimeZoneId identifier was not found on the local system.

Oder-or- Der destinationTimeZoneId-Bezeichner wurde auf dem lokalen System nicht gefunden.The destinationTimeZoneId identifier was not found on the local system.

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.The following example uses the TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) method to display the time that corresponds to the local system time in eight cities of the world.

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"));
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

Beim Durchführen der Konvertierung wendet die ConvertTimeBySystemTimeZoneId-Methode alle in der destinationTimeZoneId Zeitzone geltenden Anpassungsregeln an.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Obwohl Sie mit der TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)-Methode vergleichbar ist, können Sie TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) verwenden, um die Quell-und Ziel Zeitzone mit ihren bezeichgern anstelle ihrer TimeZoneInfo-Objekte anzugeben.Although it is similar to the TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) method, you can use TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) to specify the source and destination time zones using their identifiers instead of their TimeZoneInfo objects. Diese Methode ist besonders nützlich, wenn Sie eine Uhrzeit konvertieren müssen, ohne das Zeit Zonen Objekt abzurufen, das Ihr entspricht, und Sie nicht wissen müssen, ob die konvertierte Zeit eine Standard-oder Sommerzeit ist.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Diese Methode ruft die Zeitzonen ab, deren Bezeichner der sourceTimeZoneId und destinationTimeZoneId Parameter aus der Registrierung auf Windows-Systemen und aus der ICU-Bibliothek unter Linux und macOS sind.This method retrieves the time zones whose identifiers are the sourceTimeZoneId and destinationTimeZoneId parameters from the registry on Windows systems and from the ICU Library on Linux and macOS. Es können keine Zeit Zonen Objekte abgerufen werden, die mit der CreateCustomTimeZone-Methode erstellt werden.It cannot retrieve time zone objects that are created using the CreateCustomTimeZone method.

Der Wert der Kind-Eigenschaft des dateTime-Parameters muss dem sourceTimeZoneId-Parameter entsprechen, wie in der folgenden Tabelle gezeigt.The value of the Kind property of the dateTime parameter must correspond to the sourceTimeZoneId parameter, as the following table shows.

DateTime. Kind-WertDateTime.Kind value sourceTimeZone-WertsourceTimeZone value MethodenverhaltenMethod behavior
DateTimeKind.Utc Ist TimeZoneInfo.Utc.Id.Equals TimeZoneInfo.Utc.Id. Konvertiert dateTime in die Zeit der Ziel Zeitzone.Converts dateTime to the destination time zone's time.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id.Does not equal TimeZoneInfo.Utc.Id. Löst eine ArgumentExceptionaus.Throws an ArgumentException.
DateTimeKind.Local Ist TimeZoneInfo.Local.Id.Equals TimeZoneInfo.Local.Id. Konvertiert dateTime in die Zeit der Ziel Zeitzone.Converts dateTime to the destination time zone's time.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id.Does not equal TimeZoneInfo.Local.Id. Löst eine ArgumentExceptionaus.Throws an ArgumentException.
DateTimeKind.Unspecified Irgendeiner.Any. Konvertiert dateTime in die Zeit der Ziel Zeitzone.Converts dateTime to the destination time zone's time.

Da es auf Aufrufe der FindSystemTimeZoneById-Methode basiert, führt die ConvertTimeBySystemTimeZoneId-Methode eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durch, um die Zeitzonen zu finden, die sourceTimeZoneId und destinationTimeZoneIdentsprechen.Because it relies on calls to the FindSystemTimeZoneById method, the ConvertTimeBySystemTimeZoneId method performs a case-insensitive search to locate the time zones that correspond to sourceTimeZoneId and destinationTimeZoneId.

Wenn der Wert des dateTime-Parameters eine mehrdeutige Zeit in der Quell Zeitzone ist, wird er als Standardzeit interpretiert.If the value of the dateTime parameter is an ambiguous time in the source time zone, it is interpreted as a standard time. Wenn der dateTime-Parameter eine ungültige Zeit in der Quell Zeitzone ist, löst diese Methode eine ArgumentExceptionaus.If the dateTime parameter is an invalid time in the source time zone, this method throws an ArgumentException.

Die Kind-Eigenschaft des zurückgegebenen DateTime Werts wird auf DateTimeKind.Unspecified festgelegt, es sei denn, die Ziel Zeitzone ist koordinierte Weltzeit (UTC). in diesem Fall wird Sie auf DateTimeKind.Utcfestgelegt.The Kind property of the returned DateTime value is set to DateTimeKind.Unspecified unless the destination time zone is Coordinated Universal Time (UTC), in which case it is set to DateTimeKind.Utc.

Siehe auch

Gilt für: