Sdílet prostřednictvím


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Metoda

Definice

Převede koordinovaný univerzální čas (UTC) na čas v zadaném časovém pásmu.

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

Parametry

dateTime
DateTime

Koordinovaný světový čas (UTC).

destinationTimeZone
TimeZoneInfo

Časové pásmo, na které se má převést dateTime .

Návraty

Datum a čas v cílovém časovém pásmu. Jeho Kind vlastnost jeUtc, pokud destinationTimeZone je Utc; v opačném případě je Unspecifiedjeho Kind vlastnost .

Výjimky

Vlastnost KinddateTime je Local.

destinationTimeZone je null.

Příklady

Následující příklad převede koordinovaný univerzální čas (UTC) na centrální čas.

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

Poznámky

Při provádění převodu ConvertTimeFromUtc metoda použije všechna pravidla úprav platná v časovém pásmu destinationTimeZone .

Přesné chování této metody závisí na hodnotě Kind vlastnosti parametru dateTime , jak ukazuje následující tabulka.

DateTime.Kind – vlastnost Převod
DateTimeKind.Local Vyvolá .ArgumentException
DateTimeKind.Unspecified nebo DateTimeKind.Utc Převede z koordinovaného univerzálního času (UTC).

Pokud výsledkem převodu dateTime je hodnota data a času, která je starší než DateTime.MinValue nebo novější než DateTime.MaxValue, vrátí DateTime.MinValue tato metoda hodnotu nebo DateTime.MaxValue.

Platí pro

Viz také