TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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.