Freigeben über


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Methode

Definition

Konvertiert eine Coordinated Universal Time (UTC) in die Zeit in einer angegebenen Zeitzone.

public:
 static DateTime ConvertTimeFromUtc(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTimeFromUtc (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTimeFromUtc : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTimeFromUtc (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime

Parameter

dateTime
DateTime

Die Coordinated Universal Time (UTC).

destinationTimeZone
TimeZoneInfo

Die Zeitzone, in die dateTime konvertiert werden soll.

Gibt zurück

Das Datum und die Uhrzeit in der Zielzeitzone. Die Kind-Eigenschaft ist Utc, wenn destinationTimeZone den Wert Utc hat, andernfalls hat die Kind-Eigenschaft den Wert Unspecified.

Ausnahmen

Die Kind-Eigenschaft von dateTime ist Local.

destinationTimeZone ist null.

Beispiele

Im folgenden Beispiel wird koordinierte Weltzeit (UTC) in Central Time konvertiert.

DateTime timeUtc = DateTime.UtcNow;
try
{
   TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
   DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
   Console.WriteLine("The date and time are {0} {1}.", 
                     cstTime, 
                     cstZone.IsDaylightSavingTime(cstTime) ?
                             cstZone.DaylightName : cstZone.StandardName);
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Central Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.");
}
let timeUtc = DateTime.UtcNow
try
    let cstZone = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
    let cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
    printfn $"The date and time are {cstTime} {if cstZone.IsDaylightSavingTime cstTime then cstZone.DaylightName else cstZone.StandardName}."
with
| :? TimeZoneNotFoundException ->
    printfn "The registry does not define the Central Standard Time zone."
| :? InvalidTimeZoneException ->
    printfn "Registry data on the Central Standard Time zone has been corrupted."
Dim timeUtc As Date = Date.UtcNow
Try
   Dim cstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
   Dim cstTime As Date = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
   Console.WriteLine("The date and time are {0} {1}.", _
                     cstTime, _
                     IIf(cstZone.IsDaylightSavingTime(cstTime), _
                         cstZone.DaylightName, cstZone.StandardName))
Catch e As TimeZoneNotFoundException
   Console.WriteLine("The registry does not define the Central Standard Time zone.")
Catch e As InvalidTimeZoneException
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.")
End Try

Hinweise

Bei der Konvertierung wendet die ConvertTimeFromUtc Methode alle in der destinationTimeZone Zeitzone geltenden Anpassungsregeln an.

Das genaue Verhalten dieser Methode hängt vom Wert der Kind -Eigenschaft des dateTime Parameters ab, wie die folgende Tabelle zeigt.

DateTime.Kind-Eigenschaft Konvertierung
DateTimeKind.Local Löst ein aus ArgumentException.
DateTimeKind.Unspecified oder DateTimeKind.Utc Konvertiert aus koordinierter Weltzeit (UTC).

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.

Gilt für:

Weitere Informationen