TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Eşgüdümlü Evrensel Saati (UTC) belirtilen saat dilimindeki saate dönüştürür.
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
Parametreler
- dateTime
- DateTime
Eşgüdümlü Evrensel Saat (UTC).
- destinationTimeZone
- TimeZoneInfo
Dönüştürülecek dateTime
saat dilimi.
Döndürülenler
Hedef saat dilimindeki tarih ve saat.
Kind özelliği ise destinationTimeZone
; UtcUtcdeğilse özelliği Kind olurUnspecified.
Özel durumlar
destinationTimeZone
, null
değeridir.
Örnekler
Aşağıdaki örnek Eşgüdümlü Evrensel Saat'i (UTC) Merkezi Saat'e dönüştürür.
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
Açıklamalar
Dönüştürmeyi gerçekleştirirken yöntemi, ConvertTimeFromUtc saat diliminde geçerli destinationTimeZone
olan tüm ayarlama kurallarını uygular.
Bu yöntemin kesin davranışı, aşağıdaki tabloda gösterildiği gibi parametresinin özelliğinin dateTime
değerine Kind bağlıdır.
DateTime.Kind özelliği | Dönüştürme |
---|---|
DateTimeKind.Local | bir ArgumentExceptionoluşturur. |
DateTimeKind.Unspecified veya DateTimeKind.Utc | Eşgüdümlü Evrensel Saat'ten (UTC) dönüştürür. |
Dönüştürme işlemi, değerinden dateTime
önceki DateTime.MinValue veya sonraki DateTime.MaxValuebir tarih ve saat değeriyle sonuçlanırsa, bu yöntem sırasıyla veya DateTime.MaxValuedöndürürDateTime.MinValue.